您好,登錄后才能下訂單哦!
go1.11 中實現(xiàn)了 go module ,可以使用官方推薦的模塊化編程方案
go module 定義
模塊 ( module ) 是相關(guān) go 包的集合,是是源代碼交換 ( interchange ) 和版本化控制的基本單元
簡史
1.5 版本之前的 go,go get 命令會將包會下載到 GOPATH 路徑中
1.5 及以上版本,添加了 依賴的組織名
vgo 被提議作為 Go 模塊支持的原型
Go 1.11 (beta) 版本中,vgo 被合并到主干代碼并改進為 go mod ( 實驗性質(zhì) )
術(shù)語
「模塊根目錄」 ( Module root ) : 包含了名為 go.mod 文件的目錄
「模塊路徑」 ( Module path ) : 與模塊根目錄對應(yīng)的導(dǎo)入路徑的前綴
「主模塊」( Main module ) : 包行了運行 go 命令的所在目錄的模塊
模塊結(jié)構(gòu)
模塊是包含了 Go 源文件的目錄樹,并在根目錄中添加了名為 go.mod 的文件
go.mod 包含模塊導(dǎo)入名稱,聲明了要求的依賴項,排除的依賴項和替換的依賴項
下面的代碼就是一個簡化了的 go.mod 的內(nèi)容
module my/thing require ( one/thing v1.3.2 other/thing v2.5.0 // indirect ... ) exclude ( bad/thing v0.7.3 ) replace ( src/thing 1.0.2 => dst/thing v1.1.0 )
需要注意的是,該文件中聲明的依賴,并不會在模塊的源代碼中使用 import 自動導(dǎo)入,還是需要我們?nèi)斯ぬ砑?import 語句來導(dǎo)入的
以上就是golang 如何模塊化的詳細內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。