O que é uma boa prática recomendada com espaços de trabalho Go?

Estou apenas aprendendo o Go e lendo o código existente para aprender "como os outros estão fazendo". Ao fazer isso, o uso de um "espaço de trabalho", especialmente no que se refere às dependências de um projeto, parece estar em todo lugar.

O que (ou existe) uma prática recomendada comum ao usar um único ou vários espaços de trabalho do Go (ou seja, definições de $ GOPATH) enquanto trabalha em vários projetos do Go? Devo estar esperando ter um único espaço de trabalho Go que seja como um repositório central de código para todos os meus projetos, ou explicitamente dividi-lo e configurar o $ GOPATH enquanto trabalho em cada um desses projetos (como um python? virtualenv)?

questionAnswers(9)

yourAnswerToTheQuestion