プロジェクトの建設に行く

設置環境

SDK

  • アドレスをダウンロードし、解凍またはインストールします。
  • 環境変数を設定します。
    • GOROOT -sdk ルート ディレクトリを作成します。E:\go\go1.16.5\go
    • パスの変更: 追加%GOROOT%\bin
    • GOPATHワークスペースを作成しますE:\go\gopath
      • 通常、gopath の下に 3 つのディレクトリが作成されます。bin: パッケージ化された exe ファイル、pkg: サードパーティ パッケージ、src: ソース ファイル
  • go versionインストールが成功したかどうかをテストします。

ゴーランド

開発する

プロジェクトを作成

  • goModule を作成します。
    210714.go.new.png
  • 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
    • プロキシを開くように環境変数GOPROXYGOPROXY=https://goproxy.cnを設定することに注意してください。セットアップ手順

ビジネス開発

  • プロジェクト ディレクトリ
    210714.go.pro.png
  • my_func.goツール用
package pack1

import (
	"fmt"
	"github.com/tidwall/gjson"
	"net/http"
)

/**
gjson解析json
*/
func parse(json string, path string) string {
    
    
	return gjson.Get(json, path).String()
}

/**
根据url参数path获取预设json中对应路径的值
*/
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")
	}
}
  • demo.go入り口用
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以下に示します。
  • ダブルクリックして実行、ブラウザアクセス。
    210714.go.server.png

参考文献

おすすめ

転載: blog.csdn.net/qq_40369829/article/details/118722392