ホーム プログラミング言語 golang golang introduction Go 言語プログラムをコンパイルして実行する






Go 言語プログラムをコンパイルして実行する




 
 
Go 言語はコンパイルされた静的言語 (C 言語と同様) であるため、Go 言語プログラムを実行する前に、バイナリ実行可能ファイルにコンパイルする必要があります。

 

Go 言語プログラムは、Go 言語が提供するgo buildまたはgo runコマンドを通じてコン​​パイルできます。

  • go buildコマンドは Go 言語プログラム コードをバイナリ実行可能ファイルにコンパイルできますが、バイナリ ファイルを手動で実行する必要があります。
  • go runコマンドの方が便利です。コンパイル直後に Go 言語プログラムを実行します。コンパイル プロセス中に、一時ファイルは生成されますが、実行可能ファイルは生成されません。この機能は、プログラムのデバッグに非常に適しています。

前のセクションで作成した Go 言語プログラムを実行する方法を示してみましょう。

事前に環境変数を構成しているため、Windows に付属のコマンド ライン ツール (CMD ウィンドウまたはコマンド プロンプトとも呼ばれます) を直接使用して Go 言語プログラムをコンパイルできます。 Microsoft は後にコマンド ライン ツールをアップグレードし、Powershell という名前に変更しました。パワーとは、より強力であることを意味します。

コマンド ライン ツールを開くにはさまざまな方法がありますが、一般的に使用される 2 つの方法を以下に示します。

  • スタート メニューでコマンド ライン ツールを開き、Go ソース ファイルが存在するディレクトリに移動します。
  • Shift キーを押しながら、Go ソース ファイルが配置されているディレクトリの空白部分を右クリックし、ポップアップ メニューで [ここでコマンド ライン ウィンドウを開く] または [ここで Powershell ウィンドウを開く] を選択することもできます。これにより、次の図に示すように、Go ソース ファイルが配置されているディレクトリに cd Go が自動的に移動します。この方法はより便利であり、誰でも使用することをお勧めします。

ヒント: cd はコマンド ライン ツールのコマンドで、現在のディレクトリを変更するために使用されます (change directory の略称)。

go buildコマンド

go buildコマンドはコンパイルを開始するために使用されます。Go 言語プログラムと関連する依存関係を実行可能ファイルにコンパイルできます。構文形式は次のとおりです。

go build fileName

このうち、fileName は必須パラメータで、1 つ以上の Go ソースファイル名 (複数のパラメータがある場合、隣接する 2 つのパラメータを区切るにはスペースが必要です) または省略できます。

go build コマンドを使用してコンパイルする場合、パラメーターが異なると実行結果も異なります。

1) パラメータが空でない場合

fileName が同じメイン パッケージ内のすべてのソース ファイルの名前である場合 (1 つ以上の可能性があります)、コンパイラーは最初の fileName と同じ名前の実行可能ファイルを生成します (たとえば、 go build abc.go def.go ... abc.exe ファイルを生成します); fileName がメイン以外のパッケージのソース ファイル名である場合、コンパイラは実行可能ファイルを生成せずにパッケージの構文をチェックするだけです。

2) パラメータが空の場合

メインパッケージが現在のディレクトリに存在する場合、現在のディレクトリ名と同じ名前の「ディレクトリ名.exe」実行可能ファイルが生成されます (たとえば、hello ディレクトリでgo buildコマンドを実行すると、hello. exe ファイルが生成されます); メイン パッケージが存在しない場合は、現在のディレクトリ内のプログラム ソース コードの構文をチェックするだけで、実行可能ファイルは生成されません。

go buildコマンドを使用して、前のセクションで作成したプログラムをコンパイルします。実行結果は次のとおりです。

D:\code> go build .\demo.go
D:\code> .\demo.exe
Hello World!

このうち、 D:\code>現在のディレクトリ、つまり D ディスク下のコード フォルダーに対応します。これはコマンド ライン ツールによって自動的に追加され、コンパイル コマンドの一部ではありません。

1 行目のgo buildコマンドの後のパラメータで、 .\現在のディレクトリを示します。 Windows システムでは、現在のディレクトリは.\で表され、Unix 系システム (Linux、MacOS など) では、現在のディレクトリは./で表されます。

ここでのgo buildコマンドの.\コンパイルに影響を与えることなく省略できることに注意してください。

また、 go buildコマンドは、実行が失敗した場合にのみ情報を返します。実行が成功した場合は、情報は返されませんが、メイン パッケージ ファイルと同じ名前の .exe 実行可能ファイルが現在のディレクトリに生成されます。次の図に示すように、ディレクトリ。

 

2行目の.\demo.exeカレントディレクトリにあるdemo.exeプログラムを実行することを意味します。

行 3 は、demo.exe プログラムの実行結果です。

コマンドを実行してください

go buildコマンドの使用に加えて、Go 言語ではgo runコマンドも提供されます。go go runコマンドはコンパイル命令と実行命令を 1 つに結合し、コンパイル直後に Go 言語プログラムを実行しますが、実行可能ファイルは生成しません。ファイル。

go runコマンドの構文形式は次のとおりです。

go run fileName

このうち、fileName は必須パラメータであり、同じメイン パッケージ内のすべてのソース ファイル名である必要があり、空にすることはできません。

go runコマンドを使用して、前のセクションで作成したプログラムをコンパイルします。実行結果は次のようになります。

D:\code> go run demo.go
Hello World!

1行目のgo runコマンドを実行すると、2行目にプログラムの実行結果が直接出力されていることがわかります。

このセクションで説明したもの以外にも、 go buildコマンドとgo runコマンドには多くのコンパイル方法があります。これについては後ほど詳しく紹介します。

 

「 Go 言語プログラムをコンパイルして実行する」についてわかりやすく解説!絶対に観るべきベスト2動画

【たった1時間で学べる】Go言語のプログラミング初心者向けの超入門講座【文字書き起こし、ソースコードも完全無料!】
【概要速修】C言語やC++がコンパイルされて実行される仕組みをさっと知りたい. なぜ異なるOSで実行できないかなど【初心者向け】