ホームページ バックエンド開発 Golang Go言語でよく使われるコマンドは何ですか?

Go言語でよく使われるコマンドは何ですか?

Dec 16, 2020 pm 04:23 PM
言語を移動 共通コマンド

Go 言語で一般的に使用されるコマンドは次のとおりです: 1. go build; 2. go clean; 3. go fmt; 4. go get; 5. go install; 6. go test; 7. go doc; 8 . go fix; 9. go バージョン; 10. go リスト。

Go言語でよく使われるコマンドは何ですか?

#この記事の環境: Windows10 システム、Go 1.11.2、この記事はすべてのブランドのコンピューターに適用されます。

はじめに:

Go 言語で一般的に使用されるコマンドは次のとおりです: 1. go build; 2. go clean; 3. go fmt; 4. go get; 5. go install; 6. goテスト; 7. ドキュメントに行く; 8. 修正に行く; 9. バージョンに行く; 10. リストに行く。

(学習ビデオの共有:

プログラミング ビデオ)

一般的に使用されるコマンドは次のとおりです:

1. go build

go build コマンドは主にコンパイルのテストに使用されます。パッケージのコンパイル プロセス中に、必要に応じて、それに関連付けられたパッケージが同時にコンパイルされます。通常のパッケージの場合、go build コマンドを実行してもファイルは生成されません。本体パッケージの場合、go buildコマンドのみを実行するとカレントディレクトリに実行ファイルが生成されます。対応する exe ファイルを $GOPATH/bin に生成する必要がある場合は、 go install を実行するか、 go build -o path/a.exe を使用する必要があります。

フォルダー内に複数のファイルがあり、そのうちの 1 つだけをコンパイルしたい場合は、go build の後に go build a.go のようにファイル名を追加できます。go build コマンドはデフォルトでコンパイルされます。すべての go ファイルは現在のディレクトリにあります。コンパイルされた出力のファイル名を指定することもできます。たとえば、 go build -o myapp.exe と指定できます。デフォルトは、パッケージ名 (非メイン パッケージ) または最初のソース ファイルのファイル名 (メイン パッケージ) です。 go build は、ディレクトリ内の「_」または「.」で始まる go ファイルを無視します。

ソース コードでオペレーティング システムごとに異なる処理が必要な場合は、さまざまなオペレーティング システムのサフィックスに従ってファイルに名前を付けることができます。たとえば、配列を読み取るプログラムがあります。このプログラムには、さまざまなオペレーティング システム用の次のソース ファイルが含まれている可能性があります:


array_linux.go
array_darwin.go
array_windows.go
array_freebsd.go
ログイン後にコピー

Go がビルドすると、システム名で終わるファイルが選択的にコンパイルされます (Linux 、ダーウィン、Windows、Freebsd)。たとえば、Linux システムでは、array_linux.go ファイルのみがコンパイル対象として選択され、他のシステム上のサフィックス名を持つファイルはすべて無視されます。


2. go clean

go clean コマンドは、現在のソース コード パッケージでコンパイルおよび生成されたファイルを削除するために使用されます。これらのファイルには、

_obj/old が含まれますオブジェクト ディレクトリ (Makefiles

_test によって残されたもの) 古いテスト ディレクトリ (Makefiles
_testmain.go によって残されたもの) 古い getest ファイル (Makefiles
test.out によって残されたもの) 古いテスト レコード (Makefiles
build .out によって残されたもの) Makefiles
* によって残された古いテスト レコード。[568ao] オブジェクト ファイル、Makefiles によって残された
DIR(.exe) go build によって生成された
DIR.test(.exe) go test によって生成されました - c が生成します
MAINFILE(.exe) go build MAINFILE.go で生成された

3. go fmt

go fmt コマンドは主に、作成したコード ファイルのフォーマットを支援するために使用されます。

たとえば、正しくフォーマットされていない test.go ファイルを作成した場合、 fmt go test.go コマンドを使用するだけで、コード ファイルのフォーマットを go に任せることができます。ただし、開発ツールには通常、保存時の自動フォーマット機能があり、この機能の最下層で実際に go fmt コマンドを呼び出しているため、このコマンドを使用することはほとんどありません。

go fmt コマンド (多くの場合 gofmt) を使用します。パラメーター -w が必須です。そうでない場合、フォーマット結果はファイルに書き込まれません。 gofmt -w src を使用すると、プロジェクト全体をフォーマットできます。

4. go get

go get コマンドは主にリモート コード パッケージを動的に取得するために使用され、現在、BitBucket、GitHub、Google Code、Launchpad がサポートされています。このコマンドは実際には内部的に 2 つのステップに分かれています。最初のステップはソース コード パッケージをダウンロードすることであり、2 番目のステップは go install を実行することです。ソース コード パッケージをダウンロードする go ツールは、ドメイン名に応じて自動的に異なるソース コード ツールを呼び出します。対応関係は次のとおりです:

BitBucket (Mercurial Git)

GitHub (Git)
Google Code プロジェクト ホスティング (Git、Mercurial、Subversion)
Launchpad (Bazaar)

したがって、go が適切に動作するためには、適切なソース コード管理ツールがインストールされていることを確認し、次のコマンドを追加する必要があります。あなたのパスに。実際、 go get はドメイン名をカスタマイズする機能をサポートしています (詳細については go help Remote を参照してください)。

go get コマンドは基本的に次のように理解できます。まずソース コード ツールを使用して src ディレクトリにコードのクローンを作成し、次に go install を実行します。

5. go install

go install コマンドは実際には内部的に 2 つのステップに分かれています: 最初のステップは結果ファイル (実行可能ファイルまたは .a パッケージ) を生成し、2 番目のステップは結果ファイル (実行可能ファイルまたは .a パッケージ) を生成します。コンパイルされた結果を G O P A T H / p kg または GOPATH/pkg または GOPATH/pkg または GOPATH/bin に移動します。

.exe ファイル: 通常、go install と main 関数を含む go ファイルによって生成され、関数エントリがあり、直接実行できます。

.a アプリケーション パッケージ: 通常、go install と main 関数を含まない go ファイルによって生成されます。関数エントリはなく、呼び出すことのみが可能です。

6. go test

go test コマンドは、ソース コード ディレクトリにある *_test.go という名前のファイルを自動的に読み取り、テスト用の実行可能ファイルを生成して実行します。出力情報は

のようになります。

ok archive/tar 0.011s FAIL archive/zip 0.022s ok compress/gzip
0.033s …
ログイン後にコピー

默认的情况下,不需要任何的参数,它会自动把你源码包下面所有test文件测试完毕,当然你也可以带上参数,详情请参考go help testflag

7、go doc

go doc 命令其实就是一个很强大的文档工具。

如何查看相应package的文档呢? 例如builtin包,那么执行go doc builtin;如果是http包,那么执行go doc net/http;查看某一个包里面的函数,那么执行godoc fmt Printf;也可以查看相应的代码,执行godoc -src fmt Printf;

通过命令在命令行执行 godoc -http=:端口号 比如godoc -http=:8080。然后在浏览器中打开127.0.0.1:8080,你将会看到一个golang.org的本地copy版本,通过它你可以查询pkg文档等其它内容。如果你设置了GOPATH,在pkg分类下,不但会列出标准包的文档,还会列出你本地GOPATH中所有项目的相关文档,这对于经常被限制访问的用户来说是一个不错的选择。

8、其他命令

go fix 用来修复以前老版本的代码到新版本,例如go1之前老版本的代码转化到go1

go version 查看go当前的版本

go env 查看当前go的环境变量

go list 列出当前全部安装的package

go run 编译并运行Go程序

对于不知道的命令,可以通过git help进行查看。

相关推荐:golang教程

以上がGo言語でよく使われるコマンドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GOの浮動小数点番号操作に使用されるライブラリは何ですか? GOの浮動小数点番号操作に使用されるライブラリは何ですか? Apr 02, 2025 pm 02:06 PM

GO言語の浮動小数点数操作に使用されるライブラリは、精度を確保する方法を紹介します...

Go's Crawler Collyのキュースレッドの問題は何ですか? Go's Crawler Collyのキュースレッドの問題は何ですか? Apr 02, 2025 pm 02:09 PM

Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

GOのどのライブラリが大企業によって開発されていますか、それとも有名なオープンソースプロジェクトによって提供されていますか? GOのどのライブラリが大企業によって開発されていますか、それとも有名なオープンソースプロジェクトによって提供されていますか? Apr 02, 2025 pm 04:12 PM

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

GO言語の「VAR」と「タイプ」キーワード定義構造の違いは何ですか? GO言語の「VAR」と「タイプ」キーワード定義構造の違いは何ですか? Apr 02, 2025 pm 12:57 PM

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

Redisストリームを使用してGO言語でメッセージキューを実装する場合、user_idタイプの変換の問題を解決する方法は? Redisストリームを使用してGO言語でメッセージキューを実装する場合、user_idタイプの変換の問題を解決する方法は? Apr 02, 2025 pm 04:54 PM

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

Goでは、Printlnとstring()関数を備えた文字列を印刷すると、なぜ異なる効果があるのですか? Goでは、Printlnとstring()関数を備えた文字列を印刷すると、なぜ異なる効果があるのですか? Apr 02, 2025 pm 02:03 PM

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

GoおよびViperライブラリを使用するときにポインターを渡す必要があるのはなぜですか? GoおよびViperライブラリを使用するときにポインターを渡す必要があるのはなぜですか? Apr 02, 2025 pm 04:00 PM

ポインター構文とviperライブラリの使用における問題への取り組みGO言語でプログラミングするとき、特にポインターの構文と使用を理解することが重要です...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか? Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか? Apr 02, 2025 pm 05:09 PM

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...

See all articles