Er is een set van programma’s om Go broncode te bouwen en te verwerken. In plaats van direct te worden uitgevoerd, worden programma’s in die set meestal aangeroepen door het go programma. GOPATH en GOROOT zijn omgevingsvariabelen die een bepaalde ordening en organisatie voor de Go broncode definiëren. De paden van gopath en goroot kunnen expliciet worden gewijzigd indien nodig.
GOPATH
GOPATH, ook wel de werkruimte directory genoemd, is de directory waar de Go code thuishoort. Het wordt geïmplementeerd door en gedocumenteerd in het go/build pakket en wordt gebruikt om import verklaringen op te lossen. Het gereedschap go get downloadt pakketten naar de eerste directory in GOPATH. Als de omgevingsvariabele niet is ingesteld, staat GOPATH standaard op een submap met de naam “go” in de homedirectory van de gebruiker. Om dit te controleren, voert u het volgende commando in:
On Windows:C:\Users\%USERPROFILE%\goOn Linux:$HOME/go
Om het huidige GOPATH te controleren, voert u het volgende commando in:
C:\Users\%USERPROFILE%\go env GOPATH
GOPATH bevat 3 directory’s eronder en elke directory eronder heeft specifieke functies:
- src: Hierin staat de broncode. Het pad onder deze directory bepaalt het importpad of de uitvoerbare naam.
- pkg: Bevat geïnstalleerde pakketobjecten. Elk doelbesturingssysteem en architectuurpaar heeft zijn eigen subdirectory van pkg.
- bin: Bevat gecompileerde commando’s. Ieder commando heeft de naam van zijn brondirectory.
Bij het gebruik van modules in Go, wordt het GOPATH niet langer gebruikt om importen te bepalen. Het wordt echter nog steeds gebruikt om gedownloade broncode op te slaan in pkg en gecompileerde commando’s bin.
GOROOT
GOROOT is voor compiler en gereedschappen die uit go installatie komen en wordt gebruikt om de standaard bibliotheken te vinden. Het moet altijd worden ingesteld op de installatie directory.
Om de huidige GOROOT te controleren, voert u het volgende commando in:
C:\Users\%USERPROFILE%\go env GOPATH
Het is mogelijk om de Go-gereedschappen op een andere locatie te installeren. Dit kan gedaan worden door de GOROOT omgevingsvariabele naar de directory te laten wijzen waarin het is geïnstalleerd, hoewel dit niet wordt aangeraden omdat het vooraf is ingesteld met de tooling.