We will use gvm to install go for the current user. Note that we need to use go1.4 to compile go1.5 because go1.5 use go itself as compiler, therefore it need to have go installed.
Note that gvm is mainly for development use, IMHO using tar install or docker is a better way for production server.
Concurrency is the key to designing high performance network services. Go's concurrency primitives (goroutines and channels) provide a simple and efficient means of expressing concurrent execution. In this talk we see how tricky concurrency problems can be solved gracefully with simple Go code.
A goroutine is a lightweight thread managed by the Go runtime to support concurrency. It is considered a better mechanism than nodejs event event loop or normal thread.