go install is part of the workflow when working locally. Say you want to use a library, but for some reason a change is required. You would do:
go get -d library, which only downloads it;- make the change on the downloaded package;
go install libraryto install the local version.
As far as I know go get has no flags to indicate it should not download, so it can’t replace go install here.
The same workflow is used when you develop a new package from scratch.
EDIT: six years later, Go 1.16 has updated and clarified the usage of go install and go get: https://tip.golang.org/doc/go1.16#modules
go install, with or without a version suffix (as described above), is now the recommended way to build and install packages in module mode.go getshould be used with the-dflag to adjust the current module’s dependencies without building packages, and use ofgo getto build and install packages is deprecated. In a future release, the-dflag will always be enabled.