Best Practices for Choosing a Go Module

playing cards

With a near-endless list of Go Modules, it can be overwhelming trying to decide which is best for your Go build. For new Go developers, it can be difficult to pick a winner for your specific use case.

This phenomenon is nothing new. It's one of the reasons why open-source is so important for developers. Oftentimes, when a module is published by a developer, it was likely developed to solve a specific problem that they are facing. If another developer were to use their module to solve the same problem, there may be some performance criteria needed within that module that the current version does not meet. Luckily, there are often many versions to choose from that can solve different use cases.

Why Is Golang so Popular These Days?

A Brief History of Golang

Golang, also known as “Go,” is a fast, high-performance, open-source compiled programming language that is statistically typed. It was designed at Google by Rob Pike, Robert Griesemer and Ken Thompson and first appeared in Nov 2009. Go is syntactically similar to C and it made its recently stable release 1.13 on September 3, 2019. However, as additions to C, Go offers memory safety, garbage collection, structural typing, and CSP-Style concurrency.

There are two major implementations: