Golang has fantastic support for actions that are supposed to happen concurrently (at the same time) without blocking the thread, they are called goroutines and are used by simply putting go
in front of a function.
The functions prefixed with go
will run “on their own” and the rest of your code will continue to run.
In order to gather results or returns
from the functions, you commonly make use of a channel. Channels are the collecting “buckets” that will receive what your goroutines write to them.
Continue reading “Goroutines, Channels and awaiting Asynchronously Operations in Go”