One of the most interesting aspects of Golang is its built in support for easily implemented concurrency as compared to many other programming languages. However, many developers get hung up on the idea of concurrency and parallelism being interchangeable. Concurrency can enable parallelism but they are not the same.

In his talk from 2013, Rob Pike does a wonderful job at illustrating the value of concurrency and explaining how it differs from the goal of parallelism. It is definitely worth a watch: