Istnieje zestaw programów do budowania i przetwarzania kodu źródłowego Go. Zamiast być uruchamiane bezpośrednio, programy z tego zestawu są zwykle wywoływane przez program go. GOPATH i GOROOT są zmiennymi środowiskowymi, które definiują pewien układ i organizację kodu źródłowego Go. Ścieżki gopath i goroot mogą być w razie potrzeby jawnie modyfikowane.
GOPATH
GOPATH, zwany także katalogiem obszaru roboczego, jest katalogiem, do którego należy kod Go. Jest on zaimplementowany i udokumentowany w pakiecie go/build i jest używany do rozwiązywania poleceń importu. Narzędzie go get pobiera pakiety do pierwszego katalogu w GOPATH. Jeśli zmienna środowiskowa nie jest ustawiona, GOPATH domyślnie ustawia się na podkatalog o nazwie „go” w katalogu domowym użytkownika. Aby to sprawdzić, wprowadź następujące polecenie:
On Windows:C:\Users\%USERPROFILE%\goOn Linux:$HOME/go
Aby sprawdzić bieżący GOPATH, wprowadź następujące polecenie:
C:\Users\%USERPROFILE%\go env GOPATH
GOPATH zawiera 3 katalogi, a każdy z nich ma określone funkcje:
- src: Przechowuje kod źródłowy. Ścieżka pod tym katalogiem określa ścieżkę importu lub nazwę pliku wykonywalnego.
- pkg: Przechowuje zainstalowane obiekty pakietów. Każdy docelowy system operacyjny i para architektur ma swój własny podkatalog pkg.
- bin: Przechowuje skompilowane polecenia. Każde polecenie ma nazwę swojego katalogu źródłowego.
Podczas używania modułów w Go, GOPATH nie jest już używany do określania importu. Jednak nadal jest używany do przechowywania pobranego kodu źródłowego w pkg i skompilowanych poleceń bin.
GOROOT
GOROOT jest dla kompilatora i narzędzi, które pochodzą z instalacji Go i jest używany do znajdowania standardowych bibliotek. Powinien być zawsze ustawiony na katalog instalacyjny.
Aby sprawdzić aktualny GOROOT, wpisz następujące polecenie:
C:\Users\%USERPROFILE%\go env GOPATH
Możliwe jest zainstalowanie narzędzi Go w innym miejscu. Można to zrobić ustawiając zmienną środowiskową GOROOT tak, aby wskazywała na katalog, w którym zostały zainstalowane, chociaż nie jest to zalecane, ponieważ jest ona wstępnie ustawiona z narzędziami.