Go言語・非常用Goコマンドの詳細
3707 ワード
CSDNからの移行:http://blog.csdn.net/erlib/article/details/52703165
$go build-x
このパラメータはコンパイラに渡されます.go tool comple-helpはコンパイラに渡すことができるすべてのパラメータを並べました.
例えば、コンパイラの最適化とインラインの最適化を無効にします.以下のパラメータを使用してもいいです.
vパラメータを使ってテストしないと、出力が少ないです.よく-vパラメータを使って詳細なテストログを開きます.例:
Goツールが提供する-raceパラメータを用いて競合検出が可能になります.それは競争を検出して報告します.開発中にこのコマンドで検査してみます.
注:完全なコマンドは、
テスト時に-runパラメータを使って、正しいフィルタリングを行います.テストコードにマッチします.以下のコマンドはtest examplesのみ実行されます.
一つのカバンをテストすると、テストのカバー率を出力して、コマンドgo toolを使ってブラウザ内の可視化ができます.
$go test-exec
Goのこの機能を知っている人はあまりいません.他のプログラムを挿入することができます.このパラメータはGoツールによって外部動作の一部を完了することを可能にする.
一般的な需要シーンでは、いくつかのホスト上でテストを実行する必要があります.私たちは-exec命令でadbコマンドを呼び出して、バイナリファイルをAndroidデバイスに導入し、結果情報を収集することができます.これを参考に、アンドロイドの上で実行します.
$go get-u
go getコマンドでGoパケットを取得すると、このパケットはすでにローカルのGOPATHに存在します.このコマンドはパケットを更新してくれません.uは強制的に最新版に更新することができる.
もしあなたがライブラリの作者なら、あなたのインストール説明に-uパラメータを加えたほうがいいです.例えば、golintはこうしています.
もし、cloneコード倉庫をGOPATHに入れたいなら、コンパイルとセットアップをスキップして、-dパラメータを使います.このようにして、パケットだけをダウンロードして、コンパイルとインストールの前に停止します.
clone仮想URLコード倉庫が必要な時、私はいつもこのコマンドを使ってgit cloneの代わりにします.このようにGoコードを自動的に適切なディレクトリの下に入れることができます.たとえば:
$go get-t
もしあなたのテストパッケージに追加の依存性があれば、-tは一緒にテストパッケージの依存性をダウンロードすることができます.このパラメータが追加されていない場合、go getは非テストパケットの依存パケットのみをダウンロードします.
$go list-f
このコマンドは、Goの全パケットを列に並べて、フォーマットを指定できます.これは台本を書く時に役に立ちます.
以下のコマンドは、すべての依存するruntimeパッケージを印刷します.
$go build-x
-x go build 。
もしあなたがGoのツールチェーンに興味があるなら、またはCクロスコンパイラを使って、外部コンパイラを呼び出すための具体的なパラメータを知りたいです.すべての呼び出しを表示するために-xを使用します.$ go build -x
WORK=/var/folders/00/1b8h8000h01000cxqpysvccm005d21/T/go-build600909754
mkdir -p $WORK/hello/perf/_obj/
mkdir -p $WORK/hello/perf/_obj/exe/
cd /Users/jbd/src/hello/perf
/Users/jbd/go/pkg/tool/darwin_amd64/compile -o $WORK/hello/perf.a -trimpath $WORK -p main -complete -buildid bbf8e880e7dd4114f42a7f57717f9ea5cc1dd18d -D _/Users/jbd/src/hello/perf -I $WORK -pack ./perf.go
cd .
/Users/jbd/go/pkg/tool/darwin_amd64/link -o $WORK/hello/perf/_obj/exe/a.out -L $WORK -extld=clang -buildmode=exe -buildid=bbf8e880e7dd4114f42a7f57717f9ea5cc1dd18d $WORK/hello/perf.a
mv $WORK/hello/perf/_obj/exe/a.out perf
$go build-gcflagsこのパラメータはコンパイラに渡されます.go tool comple-helpはコンパイラに渡すことができるすべてのパラメータを並べました.
例えば、コンパイラの最適化とインラインの最適化を無効にします.以下のパラメータを使用してもいいです.
$ go build -gcflags="-N -I"
$go test-vvパラメータを使ってテストしないと、出力が少ないです.よく-vパラメータを使って詳細なテストログを開きます.例:
$ go test -v context
=== RUN TestBackground
--- PASS: TestBackground (0.00s)
=== RUN TestTODO
--- PASS: TestTODO (0.00s)
=== RUN TestWithCancel
--- PASS: TestWithCancel (0.10s)
=== RUN TestParentFinishesChild
--- PASS: TestParentFinishesChild (0.00s)
=== RUN TestChildFinishesFirst
--- PASS: TestChildFinishesFirst (0.00s)
=== RUN TestDeadline
--- PASS: TestDeadline (0.16s)
=== RUN TestTimeout
--- PASS: TestTimeout (0.16s)
=== RUN TestCanceledTimeout
--- PASS: TestCanceledTimeout (0.10s)
...
PASS
ok context 2.426s
$go test-raceGoツールが提供する-raceパラメータを用いて競合検出が可能になります.それは競争を検出して報告します.開発中にこのコマンドで検査してみます.
注:完全なコマンドは、
$ go test -race mypkg // to test the package
$ go run -race mysrc.go // to run the source file
$ go build -race mycmd // to build the command
$go test-runテスト時に-runパラメータを使って、正しいフィルタリングを行います.テストコードにマッチします.以下のコマンドはtest examplesのみ実行されます.
$ go test -run=Example
$go test-coverprofile一つのカバンをテストすると、テストのカバー率を出力して、コマンドgo toolを使ってブラウザ内の可視化ができます.
go test -coverprofile=c.out && go tool cover -html=c.out
上のコマンドはテストの上書きファイルを作成します.ブラウザで結果を開きます.$go test-exec
Goのこの機能を知っている人はあまりいません.他のプログラムを挿入することができます.このパラメータはGoツールによって外部動作の一部を完了することを可能にする.
一般的な需要シーンでは、いくつかのホスト上でテストを実行する必要があります.私たちは-exec命令でadbコマンドを呼び出して、バイナリファイルをAndroidデバイスに導入し、結果情報を収集することができます.これを参考に、アンドロイドの上で実行します.
$go get-u
go getコマンドでGoパケットを取得すると、このパケットはすでにローカルのGOPATHに存在します.このコマンドはパケットを更新してくれません.uは強制的に最新版に更新することができる.
もしあなたがライブラリの作者なら、あなたのインストール説明に-uパラメータを加えたほうがいいです.例えば、golintはこうしています.
go get -u github.com/golang/lint/golint
$go get-dもし、cloneコード倉庫をGOPATHに入れたいなら、コンパイルとセットアップをスキップして、-dパラメータを使います.このようにして、パケットだけをダウンロードして、コンパイルとインストールの前に停止します.
clone仮想URLコード倉庫が必要な時、私はいつもこのコマンドを使ってgit cloneの代わりにします.このようにGoコードを自動的に適切なディレクトリの下に入れることができます.たとえば:
$ go get -d golang.org/x/oauth2/...
これは$GOPATH/src/golang.org/x/outh 2ディレクトリの下にクローンできます.golang.org/x/oauth 2は仮想アドレスであると仮定して、go getを通じてこのコード倉庫を取得するのは倉庫の真実な住所(go.google source.com/oauth 2)を見つけるより簡単です.$go get-t
もしあなたのテストパッケージに追加の依存性があれば、-tは一緒にテストパッケージの依存性をダウンロードすることができます.このパラメータが追加されていない場合、go getは非テストパケットの依存パケットのみをダウンロードします.
$go list-f
このコマンドは、Goの全パケットを列に並べて、フォーマットを指定できます.これは台本を書く時に役に立ちます.
以下のコマンドは、すべての依存するruntimeパッケージを印刷します.
go list -f ‘’ runtime [runtime/internal/atomic runtime/internal/sys unsafe]
この文章が好きなら、クリックしてください.最新の問い合わせをタイムリーにしたいなら、クリックしてください.あなたの支持は作者に対してすべて最大の激励で、とても感謝します!By孫飛