Det finns en uppsättning program för att bygga och bearbeta Go-källkod. Istället för att köras direkt anropas programmen i den uppsättningen vanligtvis av go-programmet. GOPATH och GOROOT är miljövariabler som definierar ett visst arrangemang och organisation för Go-källkoden. Sökvägarna för gopath och goroot kan ändras explicit om det behövs.
GOPATH
GOPATH, även kallad arbetsutrymmeskatalogen, är den katalog där Go-koden hör hemma. Den implementeras av och dokumenteras i paketet go/build och används för att lösa importutsagor. Verktyget go get hämtar paket till den första katalogen i GOPATH. Om miljövariabeln inte är inställd är GOPATH som standard en underkatalog med namnet ”go” i användarens hemkatalog. För att kontrollera detta anger du följande kommando:
On Windows:C:\Users\%USERPROFILE%\goOn Linux:$HOME/go
För att kontrollera det aktuella GOPATH anger du följande kommando:
C:\Users\%USERPROFILE%\go env GOPATH
GOPATH innehåller 3 kataloger under sig och varje katalog under sig har specifika funktioner:
- src: Här finns källkod. Sökvägen under denna katalog bestämmer importvägen eller det körbara namnet.
- pkg: Den innehåller installerade paketobjekt. Varje måloperativsystem och arkitekturpar har sin egen underkatalog till pkg.
- bin: Den innehåller kompilerade kommandon. Varje kommando är namngivet efter sin källkatalog.
När man använder moduler i Go används inte längre GOPATH för att bestämma import. Den används dock fortfarande för att lagra nedladdad källkod i pkg och kompilerade kommandon bin.
GOROOT
GOROOT är för kompilatorn och verktygen som kommer från go-installationen och används för att hitta standardbiblioteken. Den ska alltid vara inställd på installationskatalogen.
För att kontrollera den aktuella GOROOT anger du följande kommando:
C:\Users\%USERPROFILE%\go env GOPATH
Det är möjligt att installera Go-verktygen på en annan plats. Detta kan göras genom att ställa in miljövariabeln GOROOT så att den pekar på den katalog där den installerades, även om detta inte rekommenderas eftersom den är förinställd med verktygen.