Google Go (Golang)
Related Posts
Intro to Generics in Go: Type Parameters, Type Inference and Constraints
Part 2: Deep Dive into Generic Programming with Google Go
![Intro to Generics in Go: Type Parameters, Type Inference and Constraints](https://benjiv.com/golang-generics-introduction/images/cover_huaac2b6a6c79ce7c2150beaf553982272_183936_180x0_resize_q75_h2_box_2.webp)
This post dives into the implementation of generic programming in Go. Walking through the syntax and semantics of type parameters, constraints, and type inference.
![Building a Go Version Manager (GVM)](https://benjiv.com/building-a-go-version-manager/images/cover_hu77bc79f3544d73fbdd94e193c15ab2b1_156018_180x0_resize_q75_h2_box_2.webp)
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).
![Beginning Concurrency Patterns](https://benjiv.com/beginning-concurrency-patterns/images/cover_hud70314a1df74fb615237bc8643c32667_70968_180x0_resize_q75_h2_box_2.webp)
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.
![Go Native Concurrency Primitives & Best Practices](https://benjiv.com/go-native-concurrency-primitives/images/cover_hu0c48d0cd7f65814e383b3e2dd74cfc73_104260_180x0_resize_q75_h2_box_2.webp)
A deep dive into the native Go concurrency primitives and how they can be used to build correct applications using best practices.
![Parallelism and Concurrency; What's the Difference?](https://benjiv.com/parallelism-vs-concurrency/images/cover_hucfc19b18d2a36ca531581a696b574158_467596_180x0_resize_q75_h2_box_2.webp)
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.
![Go 1.16 Release Overview](https://benjiv.com/triangle-golang-meetup-march-2021/images/cover_hu2e7348dfece4f36925d046f51deeb046_8000_180x0_resize_q75_h2_box_2.webp)
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.