免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

go語(yǔ)言包管理技巧 go語(yǔ)言 包管理

Go語(yǔ)言版本控制及包依賴(lài)管理

這個(gè)文件通過(guò)路徑標(biāo)識(shí) rsc.io/hello 定義了一個(gè)模塊,它本身還依賴(lài)于兩個(gè)其他模塊:golang.org/x/text 和 rsc.io/quote ,這個(gè)模塊自身編譯的時(shí)候使用的是 go.mod 文件中指定的依賴(lài)列表的版本。對(duì)于更上一層的編譯,其他導(dǎo)入這個(gè)模塊的地方將使用它較新的版本編譯。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的淮安區(qū)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

包發(fā)布者最好使用語(yǔ)義化的 tag 發(fā)布版本,vgo 也鼓勵(lì)通過(guò)打tag的版本號(hào)方式,而不是任意的提交版本。

4.1 Go語(yǔ)言中包(Packages)基礎(chǔ)知識(shí)

先看一下目錄結(jié)構(gòu),注意這里的src名稱(chēng)是必須的,go在設(shè)置了GOPATH后,默認(rèn)會(huì)添加src去尋找package,暫未查詢是否有方法不按照src查詢

根據(jù)上面的描述,Go語(yǔ)言中通過(guò)包中函數(shù)的名稱(chēng)來(lái)區(qū)分公共函數(shù)和私有函數(shù),我們?cè)趍ain函數(shù)中是無(wú)法調(diào)用myPrivateFunc的

此時(shí)如果執(zhí)行通過(guò)go run方式執(zhí)行,會(huì)看到如下的提示信息,這與大部分語(yǔ)言對(duì)于包管理方式相關(guān),所以我們通過(guò)兩種不同的方法來(lái)讓代碼執(zhí)行起來(lái)

返回如下,這里面對(duì)我們后續(xù)執(zhí)行有影響的兩個(gè)參數(shù)GO111MODULE和GOPATH

如果要使用gopath模式引用包,則需要關(guān)閉mod模式

設(shè)置GOPATH為當(dāng)前路徑,即main.go所在的路徑

此時(shí)再查看go env時(shí),GOPATH已經(jīng)發(fā)生改變

我們?cè)俅螄L試執(zhí)行代碼

可以看到public函數(shù)被調(diào)用

GO語(yǔ)言(二十五):管理依賴(lài)項(xiàng)(上)-

當(dāng)您的代碼使用外部包時(shí),這些包(作為模塊分發(fā))成為依賴(lài)項(xiàng)。隨著時(shí)間的推移,您可能需要升級(jí)或更換它們。Go 提供了依賴(lài)管理工具,可幫助您在合并外部依賴(lài)項(xiàng)時(shí)確保 Go 應(yīng)用程序的安全。

本主題介紹如何執(zhí)行任務(wù)以管理您在代碼中承擔(dān)的依賴(lài)項(xiàng)。您可以使用 Go 工具執(zhí)行其中的大部分操作。本主題還介紹了如何執(zhí)行其他一些您可能會(huì)覺(jué)得有用的依賴(lài)相關(guān)任務(wù)。

您可以通過(guò) Go 工具獲取和使用有用的包。在 pkg.go.dev 上,您可以搜索您可能覺(jué)得有用的包,然后使用go命令將這些包導(dǎo)入您自己的代碼中以調(diào)用它們的功能。

下面列出了最常見(jiàn)的依賴(lài)項(xiàng)管理步驟。

在 Go 中,您將依賴(lài)項(xiàng)作為包含您導(dǎo)入的包的模塊來(lái)管理。此過(guò)程由以下機(jī)構(gòu)支持:

您可以搜索pkg.go.dev以查找具有您可能覺(jué)得有用的功能的軟件包。

找到要在代碼中使用的包后,在頁(yè)面頂部找到包路徑,然后單擊復(fù)制路徑按鈕將路徑復(fù)制到剪貼板。在您自己的代碼中,將路徑粘貼到導(dǎo)入語(yǔ)句中,如下例所示:

在您的代碼導(dǎo)入包后,啟用依賴(lài)項(xiàng)跟蹤并獲取包的代碼進(jìn)行編譯。

要跟蹤和管理您添加的依賴(lài)項(xiàng),您首先要將代碼放入其自己的模塊中。這會(huì)在源代碼樹(shù)的根目錄創(chuàng)建一個(gè) go.mod 文件。您添加的依賴(lài)項(xiàng)將列在該文件中。

要將您的代碼添加到它自己的模塊中,請(qǐng)使用 go mod init命令。例如,從命令行切換到代碼的根目錄,然后按照以下示例運(yùn)行命令:

該go mod init命令的參數(shù)是您的模塊的模塊路徑。如果可能,模塊路徑應(yīng)該是源代碼的存儲(chǔ)庫(kù)位置。

如果一開(kāi)始您不知道模塊的最終存儲(chǔ)庫(kù)位置,請(qǐng)使用安全的替代品。這可能是您擁有的域的名稱(chēng)或您控制的另一個(gè)名稱(chēng)(例如您的公司名稱(chēng)),以及來(lái)自模塊名稱(chēng)或源目錄的路徑。

當(dāng)您使用 Go 工具管理依賴(lài)項(xiàng)時(shí),這些工具會(huì)更新 go.mod 文件,以便它維護(hù)您的依賴(lài)項(xiàng)的當(dāng)前列表。

添加依賴(lài)項(xiàng)時(shí),Go 工具還會(huì)創(chuàng)建一個(gè) go.sum 文件,其中包含您所依賴(lài)的模塊的校驗(yàn)和。Go 使用它來(lái)驗(yàn)證下載的模塊文件的完整性,特別是對(duì)于在您的項(xiàng)目上工作的其他開(kāi)發(fā)人員。

在代碼中包含存儲(chǔ)庫(kù)中的 go.mod 和 go.sum 文件。

當(dāng)您運(yùn)行g(shù)o mod init創(chuàng)建用于跟蹤依賴(lài)項(xiàng)的模塊時(shí),您指定一個(gè)模塊路徑作為模塊的名稱(chēng)。模塊路徑成為模塊中包的導(dǎo)入路徑前綴。一定要指定一個(gè)不會(huì)與其他模塊的模塊路徑?jīng)_突的模塊路徑。

至少,一個(gè)模塊路徑只需要表明它的來(lái)源,例如公司或作者或所有者名稱(chēng)。但是路徑也可能更能描述模塊是什么或做什么。

模塊路徑通常采用以下形式:

1、Go 工具可以在其中找到模塊源代碼的存儲(chǔ)庫(kù)的位置。

例如,它可能是github.com/ /.

如果您認(rèn)為您可能會(huì)發(fā)布模塊供其他人使用,請(qǐng)使用此最佳實(shí)踐。

2、一個(gè)你控制的名字。

如果您不使用存儲(chǔ)庫(kù)名稱(chēng),請(qǐng)務(wù)必選擇一個(gè)您確信不會(huì)被其他人使用的前綴。一個(gè)不錯(cuò)的選擇是您公司的名稱(chēng)。避免使用常用術(shù)語(yǔ),例如widgets、utilities或 app。

Go 保證以下字符串不會(huì)在包名稱(chēng)中使用。

1、test– 您可以將test用作模塊路徑前綴以便代碼用于在另一個(gè)模塊中本地測(cè)試功能進(jìn)行測(cè)試。

使用test作為模塊路徑前綴是測(cè)試的一部分。例如,您的測(cè)試本身可能會(huì)運(yùn)行g(shù)o mod init test,然后以某種特定方式設(shè)置該模塊,以便使用 Go 源代碼分析工具進(jìn)行測(cè)試。

2、example– 在某些 Go 文檔中用作模塊路徑前綴,例如在創(chuàng)建模塊以跟蹤依賴(lài)關(guān)系的教程中。

請(qǐng)注意,Go 文檔還用于example.com說(shuō)明示例何時(shí)可能是已發(fā)布的模塊。

文章題目:go語(yǔ)言包管理技巧 go語(yǔ)言 包管理
文章網(wǎng)址:http://m.newbst.com/article28/dogpjcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、用戶體驗(yàn)、搜索引擎優(yōu)化品牌網(wǎng)站設(shè)計(jì)網(wǎng)站導(dǎo)航、定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)