Back to Course
Tooling

Go Modules Tutorial – Managing Dependencies like a Pro

What are Go Modules?

Go Modules are Go's official dependency management system, replacing the older GOPATH-based workflow.

Creating a New Module

go mod init github.com/username/myproject

This creates a go.mod file that tracks your project's module path and dependencies.

Adding Dependencies

go get github.com/gin-gonic/gin

This downloads the package and adds it to go.mod and go.sum (which locks exact dependency versions for reproducible builds).

Common Module Commands

  • go mod tidy — adds missing dependencies and removes unused ones.
  • go list -m all — lists all dependencies in the current module.
  • go mod vendor — copies dependencies into a local vendor folder.

Semantic versioning (e.g. v1.2.3) is used throughout the Go module ecosystem to manage compatible dependency upgrades.

Ready to master real-world Go skills?

Learn Go hands-on with mentor-led, live sessions.

Explore Course