Google Go (Golang)
Part 2: Deep Dive into Generic Programming with Google Go
This post dives into the implementation of generic programming in Go. Walking through the syntax and semantics of type parameters, constraints, and type inference.
With the introduction of Generics into the Go language, it became necessary to be able to use different versions of Go on a single system with minimal effort. While exploring different methods for managing different go versions on a single system I realized that there was a need for a tool to manage the different versions seamlessly for Go engineers. This led to the creation of the Go Version Manager (GVM).
Concurrency Pattens are not new to Go. They are a part of the wider distributed computing ecosystem. This post covers basic concurrent design patterns and techniques. Building out concurrent applications is easy once you have a handle on the basics.
A deep dive into the native Go concurrency primitives and how they can be used to build correct applications using best practices.
Understanding the difference between parallelism and concurrency can be a bit tricky. This post covers common misconceptions and how to avoid them. It also breaks down the differences between parallelism and concurrency and how to use them to your advantage.
Google Go (golang) Version 1.16 released a number of new features including the embed, io/fs and runtime/metrics packages as well as support for the Apple M1 chips. Along with that new module improvements such as retracing module version.