Можно "запихнуть" в переменную GOPATH несколько директорий, например:
Некоторые разработчики используют GOPATH с двумя директориями (two-entry), например $HOME/go/external:$HOME/go/internal. Go-команда всегда знала, как обрабатывать такие случаи: go get скачает зависимость в директорию по первому пути, поэтому такое решение может быть полезным, если вам нужно строго отделить внутренний код от стороннего.