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: