溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

golang模塊化編程

發(fā)布時間:2020-06-09 14:38:38 來源:億速云 閱讀:823 作者:鴿子 欄目:編程語言

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)文章!

向AI問一下細節(jié)
推薦閱讀:
  1. golang struct
  2. golang 指針

免責(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)容。

AI