ホームページ  >  記事  >  バックエンド開発  >  golangのコンパイル方法

golangのコンパイル方法

尚
オリジナル
2019-12-26 09:43:504985ブラウズ

golangのコンパイル方法

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

gobuild lib.go main.go
$ ./gobuild
call pkgFunc
hello world


コマンド ラインの説明 出力の説明は次のとおりです。

行 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実行後の出力内容です。

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

$ ls
lib。 go main main.go

$ ./main
call pkgFunc
hello world
$ go build lib.go main.go
$ ls
lib lib.go main main.go


コマンド ラインの説明 出力の説明は次のとおりです。

1 行目で、go build の後にファイル リストを追加し、コンパイルする必要がある Go ソース コードを選択します。

行 2 と行 3 には、コンパイル後の現在のディレクトリ内のファイルがリストされます。今回は実行ファイル名がmainになります。

行 4 から 6 はメイン ファイルを実行し、期待される出力を取得します。

行 7、ファイル リストの順序を調整して、lib.go をリストの先頭に置いてみてください。

8 行目と 9 行目で、lib 実行可能ファイルがコンパイル結果に表示されます。

「go build file list」メソッドを使用してコンパイルする場合、実行可能ファイルは、デフォルトでファイル リストの最初のソース コード ファイルを出力用の実行可能ファイル名として選択します。

go build package

GOPATH を設定した後、パッケージ内のファイルが追加された場合でも、「go build package」はパッケージ名に基づいて直接コンパイルできます (追加)または削除(例外)は、コンパイル ディレクティブには影響しません。

1) GOPATH を基準としたコードの場所とソース コード

の間のディレクトリ関係は次のとおりです:

.

└── src
└── Chapter11

└ ─ ├ ──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")
}
2) パッケージごとにコマンドをコンパイルします

次のコマンドを実行して、パッケージごとに goinstall コードをコンパイルします:

$ export GOPATH=/home/davy/golangbook/code

$ go build -o main Chapter11/goinstall

$ ./goinstall

call CustomPkgFunc
hello world



code

行 1、環境変数 GOPATH を設定します。ここでのパスは作成者のディレクトリです。実際のディレクトリに従って GOPATH を設定できます。

行 2、-o の実行では、出力ファイルを main として指定し、その後にコンパイルするパッケージの名前を指定します。パッケージ名は、GOPATH の下の src ディレクトリを基準にして始まります。

行 3 ~ 5、コンパイルは成功し、main の実行後に期待される出力が得られます。

golang についてさらに詳しく知りたい場合は、golang チュートリアル 列に注目してください。

以上がgolangのコンパイル方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。