go語言包管理

2022-09-13 23:51:23 字數 1657 閱讀 6200

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

官方路徑:一般是訪問不了,使用國內**:

然後需要設定環境變數

在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裡。

go.mod檔案示例:

在專案中引用庫,本地庫必須帶上專案路徑:

go mod常用命令:

命令

說明

download

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 h**e expected content (驗證依賴是否正確)

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

Go語言 包管理

go語言通過包管理來封裝模組和復用 這裡我們只介紹go modules管理方法 go modules於go語言1.11版本時引入,在1.12版本正式支援,是由go語言官方提供的包管理解決方案 modules是相關go包的集合,是源 交換和版本控制的單元。go命令直接支援使用modules,包括記錄和...

go語言包管理工具glide介紹

glide是golang的包管理工具,是為了解決golang依賴問題的。為什麼需要glide?原因很簡單,go 語言原生包管理的缺陷。羅列一下golang的 get 子命令管理依賴有很多大缺陷 go install github.com masterminds glide初始化之前需要先進入到專案目...

go語言的包管理

在各種語言中都引入了包管理的思想,它有什麼作用呢?在go語言安裝一文中提到go語言的工作空間的概念 import fmt import github.com gin gonic gin 以上 是在 中匯入了兩個包,乙個內建包,乙個第三方包.這裡的import後是乙個包相對於 gopath src的相...