設置環境
SDK
- アドレスをダウンロードし、解凍またはインストールします。
- 環境変数を設定します。
- GOROOT -sdk ルート ディレクトリを作成します。
E:\go\go1.16.5\go
- パスの変更: 追加
%GOROOT%\bin
- GOPATHワークスペースを作成します。
E:\go\gopath
- 通常、gopath の下に 3 つのディレクトリが作成されます。bin: パッケージ化された exe ファイル、pkg: サードパーティ パッケージ、src: ソース ファイル
go version
インストールが成功したかどうかをテストします。
ゴーランド
開発する
プロジェクトを作成
- goModule を作成します。
- go modの紹介。pom.xml または build.gradle に似ています。
依存関係を導入する
- go.mod でサードパーティ パッケージのバージョンを管理します。
module "demo"
go 1.16
require (
github.com/tidwall/gjson v1.2.2
)
- プロンプトに従ってパッケージをダウンロードします。
go mod download github.com/tidwall/gjson
- プロキシを開くように環境変数GOPROXY
GOPROXY=https://goproxy.cn
を設定することに注意してください。セットアップ手順。
ビジネス開発
- プロジェクト ディレクトリ
my_func.go
ツール用
package pack1
import (
"fmt"
"github.com/tidwall/gjson"
"net/http"
)
func parse(json string, path string) string {
return gjson.Get(json, path).String()
}
func HandleHttp(writer http.ResponseWriter, request *http.Request) {
var json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}`
var path = request.URL.Query().Get("path")
if "" != path {
var pathValue = parse(json, path)
fmt.Fprint(writer, path+": "+pathValue)
} else {
fmt.Fprint(writer, "empty path")
}
}
package main
import (
"fmt"
"demo/pack1"
"net/http"
)
func main() {
http.HandleFunc("/", pack1.HandleHttp)
err := http.ListenAndServe("127.0.0.1:8080", nil)
if err != nil {
fmt.Println(err)
}
}
ゴーランドデバッグ
パッケージの展開
- go.mod コマンドを同じレベルのディレクトリに配置し
go install
、パッケージ化された exe ファイルをgopath/bin
以下に示します。
- ダブルクリックして実行、ブラウザアクセス。
参考文献