# 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.