Welcome to the second chapter of our journey to learn about full stack development in Go. In this chapter, we'll continue on our path to understanding the foundations of the Go language, by covering the important topic of concurrency in the Go language. Go arguably possesses one of the most effective and easy-to-use concurrency features of the languages in its class. Many developers who switch to Go do so because of Go's concurrency. This chapter assumes some basic knowledge of programming and the concept of threads. In a similar way to the previous chapter, we'll mainly focus on the most important and foundational concepts.
The following topics will be covered in this chapter:
- What is concurrency?
- Goroutines
- Go channels
- select statements
- The sync package