Go 言語は、自動ガベージ コレクション、豊富な組み込み型、複数の関数の戻り値、エラー処理、匿名関数を備えたまったく新しい静的型開発言語です。 、同時プログラミング、リフレクションなどの機能。
go コマンドは重要な環境変数に依存しています: $GOPATH
GOPATH では複数のディレクトリが許可されます。複数のディレクトリがある場合、区切り文字に注意してください。複数のディレクトリがある場合、Windows はセミコロンを使用します。
GOPATH が複数ある場合、go get で取得したパッケージはデフォルトで最初のディレクトリに保存されます。
$GOPATH ディレクトリには 3 つのサブディレクトリがあることが合意されています
1 、 src にはソース コード (例: .go .c .h .s など) が格納されます。 golang のデフォルト規則に従って、 go run、go install、およびその他のコマンドの現在の作業パス (つまり、 、このパスの下で上記のコマンドを実行します)。
2. pkg のコンパイル時に生成される中間ファイル (例: .a) golang がパッケージをコンパイルするとき
3. bin のコンパイル後に生成される実行可能ファイル (便宜上、このディレクトリを $PATH 変数に指定します。複数の gopath がある場合は、${GOPATH//://bin:}/bin を使用してすべての bin ディレクトリを追加します)
コード ディレクトリ構造の計画
GOPATH の下の src ディレクトリは、次の開発プログラムのメイン ディレクトリです。すべてのソース コードは、このディレクトリの下に配置されます。したがって、一般的に、私たちのアプローチは、1 つのディレクトリと 1 つのプロジェクトを持つことです。例: $ GOPATH/src/mymath は、mymath アプリケーション パッケージまたは実行可能アプリケーションを表します。これは、パッケージが main か other かによって異なります。main の場合、実行可能アプリケーションです。other の場合、アプリケーション パッケージです。 . このパッケージについては後ほど詳しく紹介します。
まず私の go 環境を見てください。 go envC:\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
は実際には golang のインストール パスです。
golang をインストールすると、これは実際にはすでに存在します最初に構造を確認します:
# #通常、プロジェクト ディレクトリで go build を実行します。例:
D:\project\src\go_dev\day1\package_example\main>go run main.go 400 100ここで main.go をコンパイルする必要があります。golang は自動的に src に移動して hello ディレクトリを見つけます。 Packag本体のパッケージなので実行ファイルにコンパイルできるのですが、デフォルトではカレントディレクトリに実行ファイルが生成されます ディレクトリ指定はできるものの、やはりあまり便利とは言えない感じです
d:\project>go build go_dev/day1/package_example\mainしたがって、他に 2 つの非常に優れたコマンドが使用されています: go get と go install
go get
go get は 2 つのことを行います:
1。リモートの場所からダウンロードするには、パッケージ 2 を使用します。 go installgo install
go install を実行すると、実行可能ファイルが生成され、それが配置されますもちろん、これには前提条件があります
コンパイルするのは実行ファイルです。通常のパッケージであれば、pkg ディレクトリにコンパイルされて生成されます。ファイルの末尾は です。 ago について 開発ディレクトリ全体
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.goLinux での go 環境の構成
1. まず go パッケージをダウンロードします。 Linux の場合: https://studygolang.com/ dl/golang/go1.9.2.linux-amd64.tar.gz
2. tar -zxvf go1.9.2.linux をダウンロードした後-amd64.tar.gz ソース パッケージを解凍します3. GOROOT である /usr/local/go に移動します4. GOPATH および PATH 環境変数を設定しますexport GOROOT=/usr/local/go #设置为go安装的路径 export GOPATH=$HOME/gocode #默认安装包的路径 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Linux go env の表示
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 envGolang の詳細については、golang チュートリアル 列に注目してください。
以上がGo言語によるGOROOT、GOPATH、GOBINの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。