Freebie

Concurrency

Go’s uses event-style goroutines and channels to provide an efficient concurrency model:

goroutine
A function that runs independently of the function that started it. It shares the same thread, but has its own function stack.
channel
A pipeline for sending and receiving data, much like a socket that runs inside your program and sends and accepts signals. Channels provide a way for goroutines to send data to their caller and one another.

Goroutines

Channels