There are things in Go (modules)

By Segev Dagan

Elevator Pitch

In this talk, we explore some of the lesser-known features of Go modules and how they can be used to improve the development process. We discuss topics such as replacement modules, vendoring dependencies and patch management. We also show how these features can be used in real-world scenarios.

Description

There are things in Go (modules)

Go modules is the package management system for Go programming language that allows developers to manage dependencies for their Go projects. In this talk, we will explore some of the lesser-known features of Go modules that can help make your development workflow more efficient and effective.

We will demonstrate the process of building a simple Go app with dependencies and show how things can get complicated quickly. These issues can be addressed in a variety of ways using Go modules, and we’ll survey those in depth.

After years of experience with GOPATH first, and now Go modules, and facing real-world problems with dependency management, we want to share the lessons learned.

Notes

We are two devs working together at tenable.ot, working on an 8 year-old product, written mostly in Go since day one. We’ve migrated from GOPATH to Go modules and use specific features to allow for special requirements.

The talk will include a live coding demo with a presentation.