Go is a great language for writing concurrent code. The language is designed to make this very simple with high-level abstractions.
Go offers channels, for-select, go routines, and a few other language constructs to make writing concurrent code easier. It does offer other low-level constructs like mutex etc., in the sync
package.
I have written some of the popular concurrency patterns here in this repo.