Einige Fragen zu $ GOPATH

Ich bin ein neuer Golang-Entwickler und ich frage mich, warum$GOPATHie Umgebungsvariable @ muss im Stammverzeichnis meines Projekts festgelegt werden.

Wenn ich gleichzeitig an mehreren Projekten arbeite, muss ich jedes Mal das @ zurücksetz$GOPATH Umgebungsvariable, die auf einen anderen Ort verweist.

In meinem Setup habe ich$GOPATH einstellen/Users/Projects/go/lib. Das ist ein generisches Verzeichnis für alle meine Golang-Projekte.

Nur zur Verdeutlichung: Die Projektdaten werden in @ abgeleg/Users/Projects/go/<Project Name>

Wenn doch alles$GOPATH wird verwendet, um (soweit ich weiß) Bibliotheken von Drittanbietern zu installieren. Ist es nicht sicher, eine zu haben?$GOPATH -Verzeichnis für alle meine Projekte, daher werden alle erforderlichen Bibliotheken von Drittanbietern im selben lib-Verzeichnis installiert, und jedes Mal, wenn ich eines der Projekte kompiliere, werden nur die benötigten libs verwendet.

Ist das in der Praxis schlecht? Warum