# Concurrency https://quii.gitbook.io/learn-go-with-tests/go-fundamentals/concurrency This was an interesting chapter. The high-level takeaways: - An anonymous function maintains access to the lexical scope in which they are defined - Go can help identify race conditions with [race detector](https://blog.golang.org/race-detector) `go test -race` - Coordinating go routines can be accomplished with channels. Channels are a data structure that can both receive and send values. This allows cross go routine communication. Channels have a type, and you will commonly see structs passed around.