Go 言語で使用される go build コマンドは、主にコードをコンパイルするために使用されます。パッケージのコンパイル プロセス中に、必要に応じて、それに関連付けられたパッケージが同時にコンパイルされます。
go build にはパラメータなしのコンパイル、ファイルリストのコンパイル、指定したパッケージのコンパイルなど、多くのコンパイル方法があります。これらの方法を使用して実行可能ファイルを出力できます。
go build パラメータなしのコンパイル
GOPATH に対するコードのディレクトリ関係は次のとおりです:
.
└ ── src
└── Chapter11
└── gobuild
§── lib.go
└── └── main.go
main.goコードは次のとおりです:
package main import ( "fmt" ) func main() { // 同包的函数 pkgFunc() fmt.Println("hello world") }
lib.go コードは次のとおりです:
package main import "fmt" func pkgFunc() { fmt.Println("call pkgFunc") }
ソース コード内に GOPATH に依存するパッケージ参照がない場合、これらのソース コードではパラメータなしの go を使用できます。建てる。形式は次のとおりです。
go build
次に示すように、コードが配置されているディレクトリ (./src/chapter11/gobuild) で go build コマンドを使用します。 cd src/chapter11/gobuild/
$ go build$ ls行 1、この例のソース コード ディレクトリに移動します。 2行目のgo buildは、コンパイル開始時に現在のディレクトリのgoソースコードを検索します。この例では、 go build は lib.go と main.go という 2 つのファイルを見つけます。これら 2 つのファイルをコンパイルすると、現在のディレクトリ名の実行可能ファイルが生成され、現在のディレクトリに配置されます (ここでの実行可能ファイルは go build)。 行 3 と行 4 には、現在のディレクトリにあるファイルがリストされており、コンパイルは成功し、go build 実行ファイルが出力されます。 行 5、現在のディレクトリで実行可能ファイル go build を実行します。 6行目と7行目、go build実行後の出力内容です。gobuild lib.go main.go
$ ./gobuild
call pkgFunc
hello world
コマンド ラインの説明 出力の説明は次のとおりです。
go build ファイル リスト
同じディレクトリ内の複数のソース コード ファイルをコンパイルする場合、go build の後に複数のファイル名を指定すると、go build がこれらのソースをコンパイルします。
go build file1.go file2.go……コードが配置されているディレクトリ (./src/chapter11/gobuild) で go build を使用し、実行可能ファイルを出力します。 go build の後にコンパイルするファイルを追加します。 ソース ファイル名。コードは次のとおりです。
$ go build main.go lib.go
lib。 go main main.go1 行目で、go build の後にファイル リストを追加し、コンパイルする必要がある Go ソース コードを選択します。 行 2 と行 3 には、コンパイル後の現在のディレクトリ内のファイルがリストされます。今回は実行ファイル名がmainになります。 行 4 から 6 はメイン ファイルを実行し、期待される出力を取得します。 行 7、ファイル リストの順序を調整して、lib.go をリストの先頭に置いてみてください。 8 行目と 9 行目で、lib 実行可能ファイルがコンパイル結果に表示されます。 「go build file list」メソッドを使用してコンパイルする場合、実行可能ファイルは、デフォルトでファイル リストの最初のソース コード ファイルを出力用の実行可能ファイル名として選択します。$ ./main
call pkgFunc
hello world
$ go build lib.go main.go
$ ls
lib lib.go main main.go
コマンド ラインの説明 出力の説明は次のとおりです。
go build package
GOPATH を設定した後、パッケージ内のファイルが追加された場合でも、「go build package」はパッケージ名に基づいて直接コンパイルできます (追加)または削除(例外)は、コンパイル ディレクティブには影響しません。
1) GOPATH を基準としたコードの場所とソース コード の間のディレクトリ関係は次のとおりです:.
└── src└── Chapter112) パッケージごとにコマンドをコンパイルします 次のコマンドを実行して、パッケージごとに goinstall コードをコンパイルします:└ ─ ├ ──Main.go
# ─ ─ mypkg
—— mypkg.go
コードは次のとおりです。
package main import ( "chapter11/goinstall/mypkg" "fmt" ) func main() { mypkg.CustomPkgFunc() fmt.Println("hello world") }
mypkg.go コードは次のとおりです:package mypkg import "fmt" func CustomPkgFunc() { fmt.Println("call CustomPkgFunc") }
$ export GOPATH=/home/davy/golangbook/code
$ go build -o main Chapter11/goinstall$ ./goinstall
call CustomPkgFunchello world行 2、-o の実行では、出力ファイルを main として指定し、その後にコンパイルするパッケージの名前を指定します。パッケージ名は、GOPATH の下の src ディレクトリを基準にして始まります。 行 3 ~ 5、コンパイルは成功し、main の実行後に期待される出力が得られます。
code
行 1、環境変数 GOPATH を設定します。ここでのパスは作成者のディレクトリです。実際のディレクトリに従って GOPATH を設定できます。
golang についてさらに詳しく知りたい場合は、golang チュートリアル 列に注目してください。
以上がgolangのコンパイル方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。