Detaillierte Erklärung von GOROOT, GOPATH und GOBIN in der Go-Sprache

Freigeben: 2019-12-28 17:24:59
nach vorne
3348 Leute haben es durchsucht

Detaillierte Erklärung von GOROOT, GOPATH und GOBIN in der Go-Sprache

Go-Sprache ist eine brandneue Entwicklungssprache für statische Typen mit automatischer Speicherbereinigung, umfangreichen integrierten Typen, mehreren Rückgabewerten für Funktionen und Fehlerbehandlung und anonyme Funktionen, gleichzeitige Programmierung, Reflexion und andere Funktionen.

Der go-Befehl basiert auf einer wichtigen Umgebungsvariablen: $GOPATH
GOPATH erlaubt mehrere Verzeichnisse. Achten Sie bitte auf das Trennzeichen. Wenn es mehrere Verzeichnisse gibt, verwendet Windows ein Semikolon.

Wenn mehrere GOPATHs vorhanden sind, wird das von go get erhaltene Paket standardmäßig im ersten Verzeichnis gespeichert

Das $GOPATH-Verzeichnis hat drei Unterverzeichnisse

1 , src speichert Quellcode (zum Beispiel: .go .c .h .s usw.) Gemäß der Standardkonvention von Golang ist der aktuelle Arbeitspfad von go run, go install und anderen Befehlen (das heißt, führen Sie die oben genannten Befehle aus). Befehle unter diesem Pfad).

2. Die Zwischendatei, die beim Kompilieren von pkg generiert wird (zum Beispiel: .a) Wenn Golang das Paket kompiliert

3. Die ausführbare Datei, die nach der Bin-Kompilierung generiert wird (der Einfachheit halber können Sie Folgendes hinzufügen). Wenn in der Variablen $PATH mehrere Gopaths vorhanden sind, verwenden Sie ${GOPATH//://bin:}/bin, um alle bin-Verzeichnisse hinzuzufügen)

Codeverzeichnisstrukturplanung

Das src-Verzeichnis unter GOPATH ist das Hauptverzeichnis für das nächste Entwicklungsprogramm. Alle Quellcodes werden in diesem Verzeichnis abgelegt. Im Allgemeinen besteht unser Ansatz darin, ein Verzeichnis und ein Projekt zu haben,

Beispiel: $ GOPATH/src/mymath stellt das mymath-Anwendungspaket oder die ausführbare Anwendung dar. Dies hängt davon ab, ob es sich um ein Hauptpaket oder ein anderes Paket handelt . Dieses Paket wird später im Detail vorgestellt.

Werfen Sie zunächst einen Blick auf meine Go-Umgebung: go env

C:\Users\Administrator>go env
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\project
set GORACE=
set GOROOT=D:\BaiduNetdiskDownload\go
set GOTOOLDIR=D:\BaiduNetdiskDownload\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
Nach dem Login kopieren

GOROOT

ist eigentlich der Installationspfad von Golang
Nachdem Sie Golang installiert haben, existiert dies tatsächlich bereits

GOBIN

Schauen Sie sich zunächst die Struktur an:

Detaillierte Erklärung von GOROOT, GOPATH und GOBIN in der Go-Sprache

Normalerweise führen wir go build im Projektverzeichnis aus, zum Beispiel:

D:\project\src\go_dev\day1\package_example\main>go run main.go
400 100
Nach dem Login kopieren

Jetzt müssen wir main.go kompilieren. Golang geht automatisch zu src, um das Hallo-Verzeichnis zu finden, da der Code in meinem main.go ist das Hauptpaket von Packag, sodass es in eine ausführbare Datei kompiliert werden kann. Standardmäßig wird die ausführbare Datei jedoch im aktuellen Verzeichnis generiert, was jedoch immer noch nicht sehr praktisch ist >

d:\project>go build go_dev/day1/package_example\main
Nach dem Login kopieren

Es werden also zwei weitere sehr gute Befehle verwendet: go get und go install

go get

go get wird zwei Dinge tun:

1. Das Paket ist angekommen

2. „Go Install“ ausführen

Go Install generiert eine ausführbare Datei Datei und platzieren Sie sie direkt im bin-Verzeichnis. Es gibt natürlich VoraussetzungenWas Sie kompilieren, ist eine gewöhnliche Datei, die im pkg-Verzeichnis kompiliert und generiert wird Datei endet in .a

Über go Das gesamte Entwicklungsverzeichnis

go_project     // go_project为GOPATH目录
  -- bin
     -- myApp1  // 编译生成
     -- myApp2  // 编译生成
     -- myApp3  // 编译生成
  -- pkg
  -- src
     -- myApp1     // project1
        -- models
        -- controllers
        -- others
        -- main.go 
     -- myApp2     // project2
        -- models
        -- controllers
        -- others
        -- main.go 
     -- myApp3     // project3
        -- models
        -- controllers
        -- others
        -- main.go
Nach dem Login kopieren

Konfigurieren der Go-Umgebung unter Linux

1. Laden Sie zuerst das go-Paket unter Linux herunter: https://studygolang.com/dl/golang/go1.9.2.linux-amd64.tar.gz2. Nach dem Herunterladen

tar -zxvf go1.9.2.linux-amd64.tar.gz Entpacken Sie das Quellpaket

3. Verschieben Sie es nach /usr/local/go, das GOROOT ist

Setzen Sie die Umgebungsvariablen GOPATH und PATH

export GOROOT=/usr/local/go #设置为go安装的路径
export GOPATH=$HOME/gocode #默认安装包的路径
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Nach dem Login kopieren

Linux go env anzeigen

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/gocode"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build057487015=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

go env
Nach dem Login kopieren

Für mehr Golang-Wissen beachten Sie bitte die Spalte Golang-Tutorial.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von GOROOT, GOPATH und GOBIN in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
go
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage