GOROOT および GOPATH
Go ツールは、ソースコードの特定のレイアウトを想定しています。GOROOT と GOPATH は、このレイアウトを定義する環境変数です。
GOROOT は、Go SDK の場所を定義する変数です。異なる Go バージョンを使用する予定がない限り、この変数を変更する必要はありません。
Go 開発では、GOPATH 変数は、Unix ではデフォルトで $HOME/go、Windows ではデフォルトで %USERPROFILE%\go に設定され、いくつかの目的に使用されます。
バイナリは
go install
によって$GOBIN
にインストールされ、$GOBIN
はデフォルトで$GOPATH/bin
にインストールされます。モジュールは
go get
によって$GOMODCACHE
にキャッシュされ、デフォルトは $GOPATH/pkg/mod になります。チェックサムデータベースの状態は、
go get
によって $GOPATH/pkg/sumdb にキャッシュされます。
GOPATH 変数の詳細については、go コマンドのドキュメント(英語)を参照してください。
Go SDK を新しいバージョンに変更する次のビデオを検討してください。
GOROOT
GOROOT の設定
GOROOT の現在の値を確認するには、設定(Ctrl+Alt+S)を開いて
に移動します。ドロップダウンリストをクリックして、Go バージョンを選択します。使用可能な Go バージョンがない場合は、SDK の追加ボタンをクリックして Go バージョンをダウンロードするか、Go SDK のローカルコピーへのパスを選択します。
Go SDK のローカルコピーを選択する
Go SDK で提供されるフォルダーへのパスに bin および src フォルダーが含まれていることを確認してください。
設定を開き(Ctrl+Alt+S)、
に移動します。SDK の追加ボタン
をクリックして、ローカルを選択します。
ファイルブラウザーで、ハードドライブにある SDK のバージョンに移動します。
オープンをクリックします。
Go SDK をダウンロードする
設定を開き(Ctrl+Alt+S)、
に移動します。SDK の追加ボタン(
)をクリックして、ダウンロードを選択します。
バージョンリストから SDK のバージョンを選択します。
ロケーションフィールドで、SDK のパスを指定します。ファイルブラウザーを使用するには、参照アイコン
をクリックします。
「OK」をクリックして「Go SDK のダウンロード」ダイアログを閉じます。
GOROOT ページで適用または OK をクリックすると、GoLand は GoSDK のダウンロードと解凍を開始します。
asdf の使用
asdf は、さまざまなプログラミング言語とユーティリティの複数のバージョンを管理するツールです。これにより、プロジェクトごとに異なる Go バージョンを切り替えることができます。また、asdf は、システム全体のデフォルトバージョンを設定する asdf global
と、特定のディレクトリのバージョンを設定する asdf local
という異なるスコープを設定できます。
GoLand は、複数のバージョン ( asdf local golang 1.21.0 1.20.8
など) の指定を含む asdf local
および asdf global
コマンドをサポートします。
プロジェクトの asdf Go バージョンを選択する
Ctrl+Alt+S を押して設定を開き、
に移動します。リストから必要な Go バージョンを選択します。
GOPATH
異なるスコープの GOPATH の構成
次のスコープに対して GOPATH を構成できます。
グローバル GOPATH : GoLand の現在のインストール内のすべてのプロジェクトに適用されます。
プロジェクト GOPATH : 現在のプロジェクトにのみ適用されます。
モジュール GOPATH : 特定のモジュールにのみ適用されます。モジュールは、プロジェクトに設定されている SDK とは異なる SDK を使用することもできます。また、特定のテクノロジーやフレームワークを含めることもできます。
Ctrl+Alt+S を押して設定を開き、
に移動します。設定するスコープを選択します。
グローバル GOPATH
プロジェクト GOPATH
モジュール GOPATH
追加
をクリックします。
ファイルブラウザーで、GOPATH に関連付けるディレクトリを選択します。
関連ページ:

Go テンプレート
Go には独自のテンプレートエンジンがあり、text/template と html/template の 2 つのパッケージに分割されています。これらのパッケージは機能的に似ていますが、html/template ではユーザーがコードインジェクションに対して安全な HTML コードを生成できるため、Web ページやメールでの使用に適しているという点が異なります。また、これらのパッケージは、Helm の構成や Kubernetes パッケージマネージャーなど、他のアプリケーションでのコーディング支援を提供し...

ビルド制約とベンダリング
ビルド制約とベンダリングモードは、ビルドプロセスを微調整するために使用できるツールです。ビルド制約では、パッケージに含めるファイルを決定するルールを定義します。ベンダリングモードを有効にすると、プロジェクト内に保存されている依存関係パッケージのみを使用してアプリケーションがビルドされるようになります。このアプローチにより、パッケージに特定のファイルセットを含め、ローカルで変更またはパッチを適用した依存関係を使用できます。ビルド制約:ビルド制約 (ビルドタグとも呼ばれる) は、パッケージにファイ...