Go module學習筆記

2022-08-17 16:42:20 字數 1710 閱讀 1830

模組維護:go mod command arguments

建立模組:go mod init example.com/hello

清除無用依賴: go mod tidy

測試packages:go test [build/test flags] [packages]

測試當前目錄*_test.go:go test 執行當前資料夾下的_test.go檔案

列出packages或模組:

go list [-f format] [-json] [-m] [list flags] [build flags] [packages]

列出模組所有的依賴(包括間接依賴):go list -m all

增加並安裝依賴:

go get [-d] [-t] [-u] [-v] [-insecure] [build flags] [packages]

公升級minor版本get get packages

公升級依賴module的主版本:

import中加入語義主版本號,比如:import quotev3 "rsc.io/quote/v3"

語義版本:

語義版本由vmajor.minor.patch構成,當新發布版本公共api不相容已發布版本時,新增major主版本號;當新增函式等相容已發布版本時,增加minor;不改變api和則依賴時,比如修復bug,增加patch。

v0為初始不穩定版本,v1為第乙個穩定版本。

給本地分支打標, 預設標籤是打在最新提交的commit上:git tag v0.1.0

將本地分支標籤推送到遠端:git push origin v0.1.0

模組的v2及以上版本必須帶有有不同的模組匯入路徑,路徑帶上major version。

在模組下新建v2子目錄,將模組下所有的*.go檔案全部銬入v2目錄,將go.mod拷入v2目錄,並修改module名稱。

修改模組名稱:

將我們專案依賴的模組全改成v2版本:

find查詢指定檔案,.表示本目錄及子目錄,-type表示檔案型別(f普通檔案),-name表示檔名,-exec執行指令,-exec和{}結合表示匹配的所有檔案[5]。

sed是流編輯器,用於文字處理,sed讀入檔案行進緩衝區,處理完成輸出到螢幕,然後處理下一行。

命令用法:sed [options] 'command' file(s)

-e可以在同一行裡執行多條命令,-i直接更改原檔案。command中s表示替換,g表示對所有行進行替換。

git tag v2.0.0

將本地分支標籤推送到遠端:git push origin v2.0.0

[1] using go modules.

[2] command go.

[3] publishing go modules.

[4] go modules: v2 and beyond.

[5] find命令.

[6] sed命令.

Go Module實戰測試

go modules 官方提倡的包管理方式 go 1.11增加 乃至專案管理機制,使用go mod管理專案,將可以繞開go專案必須放置到gopath目錄的約束,以下將與大家一起測試 實戰測試 1.新建資料夾 mkdir test cd test2.初始化 go mod init test go cr...

Go module 使用教程

go module 介紹 自go1.1.1版本發布 2018 08 24發布 從官方的部落格中看到,其中有個比較突出的特色就是module,模組概念。module是乙個相關go包的集合,它是源 更替和版本控制的單元。模組由原始檔形成的go.mod檔案的根目錄定義,包含go.mod檔案的目錄也被稱為模...

go module呼叫本地包

1 目錄結構 demo p1 p11 p11.go main.go go.mod p2 p2.go go.mod2 p2.go原始碼 package p2 import fmt const name bob new 首字母大寫,供外部呼叫 func new 3 p11.go原始碼 package p...