3 ms·
In Go, each version corresponds to a given import/Pkg path. If you want to change version (major), you need to create a new package. The advantage is that you
by bassislife 10y ago
In Go, each version corresponds to a given import/Pkg path.
If you want to change version (major), you need to create a new package.
The advantage is that you do not have to download a manifest such as package.json or whatever.
It also provides a constraint on library authors to provide a backward compatible API for their published package.
Eventually, I guess we could use go/types to enforce/check the API backward compatibility requirement.
The main issues for now are:
* make sure that packages importing a same vendored one are able to use the same latest minor version in use.
* allow a project based approach to go get for people who need reproducible builds (or alternatively allow for multiple $GOPATH and make being able to switch between them easy)