Go プログラムを完全な実行可能バイナリとして実行したいですか? Go install コマンドは、アプリケーションをコンパイルし、ワークスペースの bin ディレクトリにインストールします。以下のような方法。
Golang: How To Use the Go Install Command、著者 Jack Wallenからの翻訳。
Go 言語には、アプリケーションのバイナリ パッケージをコンパイルして、アプリケーションのユーザーがアクセスできるパスにインストールする特別なコマンドがあります。
私たち全員が理解できる方法で説明しましょう。
まず、PATH について説明します。 PATH は、コマンドの実行に必要な実行可能ファイルの場所をシステムに指示するディレクトリの特別なリストです。例: Linux の場合、次のコマンドを実行します...
echo $PATH
出力には次のような内容が表示される場合があります。
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
基本的に、これは、これらのディレクトリにある実行可能ファイルは、ファイル システム階層のどこからでも実行できることを意味します。 PATH のおかげで、ls のようなコマンドにフルパスを使用する必要はありません。次のようになります。
/usr/bin/ls
代わりに、ls を実行するだけでアプリケーションを使用できます。
Go をインストールすると、Go のパスがデフォルトで特定の場所に設定されると想定されます。そのパスがどこにあるかを確認するには、次のコマンドを実行します。
echo $GOPATH
次のようなものが表示されるはずです。
/home/jack/go/
次のコマンドを使用してこのパスを設定できます。
go env -w GOPATH=$HOME/go
$HOME は _/home/USER_ と同等であることに注意してください(_USER_ は Linux ユーザー名です)。 .bash_profile ファイルで設定することもできます。次のコマンドを使用して、編集するファイルを開きます。
nano ~/.bash_profile
ファイルの最後に次の内容を追加します。
export GOPATH=$HOME/go
次のコマンドを使用してファイルを取得します。
source ~/.bash_profile
必要に応じてこのパスを変更できますが、常にそのままにしておくことが最善です (特に最初は)。
さて、GOPATH とは何か、そしてその使い方はわかりましたか?
言っておくけど。
円周率の近似値を計算するプログラムを書いてみましょう。このアプリの仕組みは次のとおりです。
- パッケージfmt、mathおよびmath/randをインポートします。
- 乱数ジェネレーターのシードを設定し、_totalPoints_ を 100 万に、_pointsInsideCircle_ を 0 に設定します。
- for ループを使用して _totalPoints_ を反復し、x と y の両方をランダムな浮動小数点数 64 に設定し、これらの数値を使用して x_x と y_y を乗算します (_math.Sqrt_ 関数を使用)。
- _piAbout_ を _pointsInsideCircle_ と _totalPoints_ の float64 の 4 倍に設定します。
- 最後に、値を出力します。
コードは次のとおりです。
package main
import (
"fmt"
"math"
"math/rand"
)
func main() {
rand.Seed(42)
totalPoints := 1000000
pointsInsideCircle := 0
for i := 0; i < totalPoints; i++ {
x := rand.Float64()
y := rand.Float64()
distance := math.Sqrt(x*x + y*y)
if distance < 1 {
pointsInsideCircle++
}
}
piApprox := 4 * float64(pointsInsideCircle) / float64(totalPoints)
fmt.Printf("Using this method, our approximate value of π: %f\n", piApprox)
}
次のコマンドを使用して、新しいプロジェクト ディレクトリを作成します。
mkdir ~/randompi
次のコマンドを使用して、このディレクトリに移動します。
cd randompi
次のコマンドを使用してプロジェクトを初期化します。
go mod init randompi
次のコマンドを使用して main.go ファイルを作成します。
nano main.go
コードをこのファイルに貼り付けて保存します。
次のコマンドを使用してアプリケーションをビルドします。
go build
_randompi_ という名前のバイナリ実行可能ファイルが表示されるはずです。次のコマンドを使用して、新しい Go アプリケーションを実行できます。
./randompi
素晴らしい。しかし、別のディレクトリからコマンドを実行できるようにしたい場合はどうすればよいでしょうか?これは Linux なので、/usr/local/bin ディレクトリにコピーできますが、Go はこの目的のためにすでに GOPATH を提供しています。これを行うには、 go install を使用します。これにより、新しいバイナリが GOPATH に移動されます。これを行うには、次のコマンドを発行します。
go install
ls コマンドを発行すると、_randompi_ 実行可能ファイルがなくなっていることがわかります。どこに行ったの? Go はそれを GOPATH に移動しました。以下を使用して GOPATH をリストすることを忘れないでください。
echo $GOPATH
これにより、GOPATH が出力されるはずです。ここでのコツは、Go は単に実行可能ファイルを GOPATH のルートにコピーするだけではないということです。代わりに、そのパスの bin ディレクトリにコピーします。 Linux の用語では、bin はバイナリ ファイルの共通ディレクトリです (bin = バイナリ)。実行可能ファイルがパスにコピーされたことを確認するには、次のコマンドを発行します。
ls $GOPATH/bin
_randompi_ がリストに表示されるはずです。
Linux をご存知であれば、次に何が起こるかをすでに理解しているでしょう。 GOPATH を設定したとしても、それが Linux PATH に含まれているわけではありません。この警告があっても、Go は run コマンドで対応します。次のコマンドを発行すると、次のようになります。
go run randompi
$GOPATH/bin でバイナリ実行可能ファイルを見つけて、randompi アプリケーションを実行します。その出力は次のようになります。
Using this method, our approximate value of π: 3.139740
ここでちょっとしたトリックをご紹介します。
go mod init randompi を使用してアプリケーションを初期化すると、次のような内容を含む go.mod ファイルが作成されます。
module randompi
go 1.22.1
アプリケーションの名前を gopi に変更するとします。 go.mod ファイルを編集して、モジュール randompi をモジュール gopi に変更するだけです。アプリケーションを再構築して再インストールすると、以下を使用してアプリケーションを実行できます。
go run gopi
Go フレンドの皆さん、go install
コマンドの使用の基本は以上です。これは、Go 言語の学習を続ける上で重要なツールになります。
Google Python Foundation チームが解雇されたことを Google が確認し、Flutter、Dart、Python に関与するチームが GitHub のホット リストに殺到しました - オープンソースのプログラミング言語とフレームワークはどうしてこんなにも魅力的なのでしょうか? Xshell 8 が ベータ テストを開始: RDP プロトコルをサポートし、Windows 10/11 にリモート接続 できる Rail WiFi の最初の長期サポート バージョン 8.4 GA AI 検索ツール Perplexica : 完全にオープンソースで無料、Perplexity の代替となるオープンソースの価値をファーウェイ幹部が評価 : 継続的な抑制にもかかわらず、依然として独自のオペレーティング システムを持っています。ドイツの自動車ソフトウェア会社 Elektrobit が、Ubuntu をベースとした自動車オペレーティング システム ソリューションをオープンソース化しました。この記事はYunyunzhongsheng ( https://yylives.cc/ ) で最初に公開されたもので、どなたでもご覧いただけます。