go語言包管理


要構建Go語言的編譯環境,首先得安裝Go語言的編譯工具

官方路徑:https://golang.google.cn/dl/,一般是訪問不了,使用國內網站:https://studygolang.com/dl
然后需要設置環境變量
在windows下需要將go編譯器的安裝路徑加到Path,還要設置GOROOT和GOPATH變量,分別對應GO安裝目錄和項目下的src目錄。

GO包管理一般有兩種方式:GOPATH方式和GO Module方式
GOPATH方式是GO原生支持的方式,一般要求項目下包含三個目錄:
bin:放置可執行文件
pkg:放置編譯生成的lib包
src:放置源碼,go編譯查找源文件目錄
例如項目結構如下:

 一般源文件的包名就是所在的文件夾名,如果在main函數中要調用algorithms中的qsort中的函數,只需要import文件即可,路徑為GOPATH/src下的路徑:

如果需要導入github上的開源代碼,直接import項目的url鏈接即可,並且需要go get導入到本地路徑,go會自動在src目錄下生成github.com目錄。

Go Module管理方式
Go Module方式是golang1.11新增的特性,直接基於模塊管理,而不是基於固定目錄
要使用Go Module,需要先設置go變量GO111MODULE=on
要注意Go Module方式跟GOPATH方式不兼容,項目路徑不能在GOPATH里。

在項目中不需要src目錄,使用go mod init建立mod管理,會自動在項目下生成go.mod文件,如果需要依賴第三方代碼,除了在項目中import之外,還需要使用go mod download下載包

go.mod文件示例:

 在項目中引用庫,本地庫必須帶上項目路徑:

go mod常用命令:

命令

說明

download

download modules to local cache(下載依賴包)

edit

edit go.mod from tools or scripts(編輯go.mod

graph

print module requirement graph (打印模塊依賴圖)

init

initialize new module in current directory(在當前目錄初始化mod)

tidy

add missing and remove unused modules(拉取缺少的模塊,移除不用的模塊)

vendor

make vendored copy of dependencies(將依賴復制到vendor下)

verify

verify dependencies have expected content (驗證依賴是否正確)

why

explain why packages or modules are needed(解釋為什么需要依賴)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM