Go modules by example
Go modules by example is a series of work-along guides that look to help explain how Go modules work and how to get things done. They are designed to complement the official Go documentation and the Go modules wiki.
The guides are being released in no particular order and will instead be curated into a more cogent order/structure (in conjunction with the modules wiki) at a later date.
The release-ordered list of guides:
- How to use submodules
- Using modules to manage vendor
- Creating a module download cache "vendor"
- Using
gohack
to "hack" on dependencies - Migrating Buffalo from
dep
to go modules - Tools as dependencies
- Cyclic module dependencies
- Visually analysing module dependencies
- Semantic import versioning by example
- Options for repository structure with multiple major versions
- Using
gobin
to install/run tools - Using
go list
,go mod why
andgo mod graph
- Using
apidiff
to determine API compatibility
WIP guides:
- The go modules tour (a rewrite of the original vgo tour)
- Using go modules with gopkg.in
- Using a package that has not been converted to go modules
- Example of backwards compatibility in Go 1.10 with semantic import paths
- Another example of package/project that has not yet been converted to a module
- Forking a project which has not yet been converted to a Go module
- ...
Wikis:
Contributing
See Contributing.
Caveats
This project is work-in-progress. Feedback/PRs welcome.
Credits
With particular thanks (in no particular order) to: