記事ディレクトリ
Vscode は Go 言語開発環境を構築します
通訳者
公式 Web サイトをダウンロード:ダウンロード - Go プログラミング言語 (google.cn)
愚かなインストール、インストールパスを覚えておくだけ
ターミナルでインストールが成功したかどうかをテストします。
bin: コンパイルされたバイナリ ファイルを保存します
**pkg: コンパイルされたパッケージ ファイルを保存します。パッケージ ファイルの拡張子は通常、.a** で終わる xxx.a です。
src: Go言語パッケージのソースコードを保存します。
vscode にインストールする必要があるプラグイン
ユーザー変数と環境変数を構成する (重要)
環境変数
Go インタープリターのインストール場所の bin ディレクトリをパスに入れます (システム変数の Path に Golang インストール ディレクトリ/bin を挿入します)。
ユーザー変数
ユーザー変数を追加する
GOPATH 変数はユーザーの作業ディレクトリを設定します。コードを記述するときにサードパーティのライブラリを使用する必要があり、その後 go get xxx を使用すると、xxx がこのディレクトリにダウンロードされます。
システムに付属の \ユーザー変数\ 内の GOPATH を削除します。元のパス C:\Users\xxx\go は go コードを保存する場所ではないためです。
变量 GOPATH 值 D:\interpreter\go\wrokspace
(ここに Golang 作業ディレクトリを入力して、対応するダウンロードしたパッケージを保存します
追加後、コマンドラインでそれを使用してgo get -u xxx
サードパーティのライブラリをインストールします
go get -u gorm.io\gorm
上記のコマンドを使用すると、D:\interpreter\go\bin\pkg\mod ディレクトリに gorm.io フォルダが見つかり、その下に gorm フォルダがあります。
GOROOT 変数は Go コンパイラーがインストールされる場所を設定します
变量 GOROOT 值 D:\interpreter\go
(ここに Golang のインストール ディレクトリを入力します)
go の環境変数を構成する
go env
go に関するすべての環境変数を表示するには、コマンド ラインでコマンドを使用します。(Golangの環境を確認してください)
go は Google の製品であるため、多くのプラグインは海外にありますが、中国ではアクセスできないため、プロキシなどの設定を行う必要があります
そこで、次のパラメータを設定します
go env -w GOPROXY=https://goproxy.io,direct
go env -w GOPRIVATE=*.corp.example.com
go env -w GO111MODULE=on
これらの vscode で発生する可能性のある問題
たとえば、エラーが報告されます: (go: GOROOT ディレクトリが見つかりません: c:\go)
vscode ターミナル ショートカットを開く方法は次のとおりです。ctrl+shift+tab上那个键
以前に golang をインストールし、vscode で使用したことがある場合
おそらく vscode を一度インストールすると、元のパスに従って GOROOT が見つかるでしょう。
図のように、初めての go 言語環境の確認には成功しませんでしたが、コマンドでset GOROOT=D:\interpreter\go
手動で GOROOT を設定することに成功しました。
同様に、GOPATH も設定できます: (以下に示すように)
GO111モジュール
-
GO111モジュールの紹介
GO111MODULE には、off、on、auto (デフォルト) の 3 つの値があります。
- GO111MODULE=off
go コマンドラインは module 機能をサポートせず、依存パッケージを検索する方法は古いバージョンに従い、ベンダー ディレクトリまたは GOPATH モードを介して検索します。 - GO111MODULE=on
go コマンド ラインはモジュールを使用し、GOPATH ディレクトリ内を検索しません。 - GO111MODULE=auto (デフォルト値)
go コマンドラインは、現在のディレクトリに従ってモジュール機能を有効にするかどうかを決定します。次の 2 つの状況では、モジュール機能が有効になります:
a. 現在のディレクトリが GOPATH/src の外部にあり、そのディレクトリに go.mod ファイルが含まれている
b. 現在のファイルが go.mod ファイルを含むディレクトリの下にある。
- GO111MODULE=off
-
Windows システムで GO111MODULE を設定すると
、環境変数に変数を直接追加できます。変数名は GO111MODULE、変数値は on、off、auto のいずれかです。 -
go env -w を使用して GO111MODULE を設定します
go バージョンが 1.13 以降の場合、 go env -w コマンドを直接使用して変数を設定するのが非常に便利です。go env -w コマンドはユーザー レベルで変数を変更し、変更された情報はデフォルトで $HOME/.config/go/env ファイルに保存されます。
ps: バージョン 1.16.5 の場合、 go env -w の使用は有効にならない可能性があります。
#查看GO111MODULE的当前值 go env #设置GO111MODULE的值 #开启模块支持,无论什么情况,go命令都会使用module go env -w GO111MODULE=on #关闭模块支持,无论什么情况,go命令都不会使用module go env -w GO111MODULE=off #默认值,go命令根据当前目录决定是否启用module功能 #即当前目录在GOPATH/src之外且该目录包含go.mod文件时开启module功能;否则继续使用GOPATH go env -w GO111MODULE=auto
ゴプロキシ
ここで最も重要なことは、GOPROXY の設定を確認することです。GO 言語は Google の製品であるため、プロキシを設定しないと、プロキシの背後に関連するプラグインをインストールすることが困難になります(プロキシを設定していなくても)ラダーがない場合は、プロキシを設定する必要があります)。
一部のプロキシはオンラインで利用できます。
go env -w GOPROXY=“https://goproxy.cn,direct”
go env -w GOPROXY=“https://goproxy.io”
go env -w GOPROXY=“https://mirrors.tencent.com/go/”
直接パラメーターの機能は次のとおりです。 https://goproxy.cn プロキシに正常にアクセスできる場合、プロキシには依存関係パッケージのダウンロードが優先されます。エージェントが動作しない場合、またはこのパッケージがない場合は、エージェントを使用せず、パッケージの github ソース アドレスに直接アクセスしてダウンロードしてください。
ゴーパス
Go 言語はコンパイル済み言語であり、パッケージ化プロセスで開発およびコンパイルする必要がある依存パッケージが多数あります。したがって、ワークスペースと同様のワークスペースを構成する必要があります。つまり、ディレクトリを定義し、このディレクトリにソースコードを書き込みます。
GOPATH 環境変数: 作成した go プロジェクトの保存パス (作業ディレクトリ) を示すために使用されます。
プロジェクトを配置する場所に 3 つの新しいディレクトリ src、bin、および pkg を作成します。結果は次のようになります。
src: ソースコードを保存する
bin:コンパイルされたバイナリ ファイルを保存します
pkg: コンパイルされたパッケージ ファイルを保存します
最後に、srcに新しいフォルダーを作成し、vscodeで開き、ターミナルを直接開いてgo mod init+项目名
実行してコードを記述します(GO111MODULE=onの場合であることに注意してください)。
初期化後は次のようになります。
コンパイルして実行する
最初にコンパイルしてから実行します
コンパイル
埋め込む
直接実行
ジンフレームワーク構築
-
プロジェクトを作成する前にプロジェクトを初期化する良い習慣を身につけてください。
go mod init 项目名 go mod tidy
-
go mod tiny コマンドの動作:
-
使用する必要があるが go.mod で見つからないモジュールを追加します。
-
未使用のモジュールを削除する
-
実行時は go mod&go sum と同じパスにある必要があることに注意してください。
-
-
Jin フレームワークをインストールする
go get -u github.com/gin-gonic/gin
.sum ファイルがフォルダーに表示され、インストールが成功したことがわかります。次に、成功したかどうかを確認する簡単なプログラムを作成します。
package main import "github.com/gin-gonic/gin" func main() { // 创建一个默认的路由引擎 r := gin.Default() // 配置路由 r.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ // c.JSON:返回 JSON 格式的数据 "message": "Hello world!", }) }) r.Run() // 启动 HTTP 服务 } # go run main.go后打开127.0.0.1:8080成功显示Hello world
-
go mod vendor
この機能は、新しい依存関係パッケージを現在のプロジェクトのベンダー ディレクトリに自動的に書き込むことです。