當(dāng)您的代碼使用外部包時(shí),這些包(作為模塊分發(fā))成為依賴項(xiàng)。隨著時(shí)間的推移,您可能需要升級或更換它們。Go 提供了依賴管理工具,可幫助您在合并外部依賴項(xiàng)時(shí)確保 Go 應(yīng)用程序的安全。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有黑山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
本主題介紹如何執(zhí)行任務(wù)以管理您在代碼中承擔(dān)的依賴項(xiàng)。您可以使用 Go 工具執(zhí)行其中的大部分操作。本主題還介紹了如何執(zhí)行其他一些您可能會(huì)覺得有用的依賴相關(guān)任務(wù)。
您可以通過 Go 工具獲取和使用有用的包。在 pkg.go.dev 上,您可以搜索您可能覺得有用的包,然后使用go命令將這些包導(dǎo)入您自己的代碼中以調(diào)用它們的功能。
下面列出了最常見的依賴項(xiàng)管理步驟。
在 Go 中,您將依賴項(xiàng)作為包含您導(dǎo)入的包的模塊來管理。此過程由以下機(jī)構(gòu)支持:
您可以搜索pkg.go.dev以查找具有您可能覺得有用的功能的軟件包。
找到要在代碼中使用的包后,在頁面頂部找到包路徑,然后單擊復(fù)制路徑按鈕將路徑復(fù)制到剪貼板。在您自己的代碼中,將路徑粘貼到導(dǎo)入語句中,如下例所示:
在您的代碼導(dǎo)入包后,啟用依賴項(xiàng)跟蹤并獲取包的代碼進(jìn)行編譯。
要跟蹤和管理您添加的依賴項(xiàng),您首先要將代碼放入其自己的模塊中。這會(huì)在源代碼樹的根目錄創(chuàng)建一個(gè) go.mod 文件。您添加的依賴項(xiàng)將列在該文件中。
要將您的代碼添加到它自己的模塊中,請使用 go mod init命令。例如,從命令行切換到代碼的根目錄,然后按照以下示例運(yùn)行命令:
該go mod init命令的參數(shù)是您的模塊的模塊路徑。如果可能,模塊路徑應(yīng)該是源代碼的存儲(chǔ)庫位置。
如果一開始您不知道模塊的最終存儲(chǔ)庫位置,請使用安全的替代品。這可能是您擁有的域的名稱或您控制的另一個(gè)名稱(例如您的公司名稱),以及來自模塊名稱或源目錄的路徑。
當(dāng)您使用 Go 工具管理依賴項(xiàng)時(shí),這些工具會(huì)更新 go.mod 文件,以便它維護(hù)您的依賴項(xiàng)的當(dāng)前列表。
添加依賴項(xiàng)時(shí),Go 工具還會(huì)創(chuàng)建一個(gè) go.sum 文件,其中包含您所依賴的模塊的校驗(yàn)和。Go 使用它來驗(yàn)證下載的模塊文件的完整性,特別是對于在您的項(xiàng)目上工作的其他開發(fā)人員。
在代碼中包含存儲(chǔ)庫中的 go.mod 和 go.sum 文件。
當(dāng)您運(yùn)行g(shù)o mod init創(chuàng)建用于跟蹤依賴項(xiàng)的模塊時(shí),您指定一個(gè)模塊路徑作為模塊的名稱。模塊路徑成為模塊中包的導(dǎo)入路徑前綴。一定要指定一個(gè)不會(huì)與其他模塊的模塊路徑?jīng)_突的模塊路徑。
至少,一個(gè)模塊路徑只需要表明它的來源,例如公司或作者或所有者名稱。但是路徑也可能更能描述模塊是什么或做什么。
模塊路徑通常采用以下形式:
1、Go 工具可以在其中找到模塊源代碼的存儲(chǔ)庫的位置。
例如,它可能是github.com/ /.
如果您認(rèn)為您可能會(huì)發(fā)布模塊供其他人使用,請使用此最佳實(shí)踐。
2、一個(gè)你控制的名字。
如果您不使用存儲(chǔ)庫名稱,請務(wù)必選擇一個(gè)您確信不會(huì)被其他人使用的前綴。一個(gè)不錯(cuò)的選擇是您公司的名稱。避免使用常用術(shù)語,例如widgets、utilities或 app。
Go 保證以下字符串不會(huì)在包名稱中使用。
1、test– 您可以將test用作模塊路徑前綴以便代碼用于在另一個(gè)模塊中本地測試功能進(jìn)行測試。
使用test作為模塊路徑前綴是測試的一部分。例如,您的測試本身可能會(huì)運(yùn)行g(shù)o mod init test,然后以某種特定方式設(shè)置該模塊,以便使用 Go 源代碼分析工具進(jìn)行測試。
2、example– 在某些 Go 文檔中用作模塊路徑前綴,例如在創(chuàng)建模塊以跟蹤依賴關(guān)系的教程中。
請注意,Go 文檔還用于example.com說明示例何時(shí)可能是已發(fā)布的模塊。
(GitBook) 是一個(gè)使用 Git 和 Markdown 來構(gòu)建書籍的現(xiàn)代化的文檔平臺(tái)工具,雖然已經(jīng)很好了,但由于gitbook有時(shí)候由于網(wǎng)絡(luò)等原因會(huì)導(dǎo)致訪問書寫草稿不是很方便,所以結(jié)合群友的實(shí)用情況,對其他的一些工具也做一推薦,這也是寫這一篇的主要原因
目前來看是國內(nèi)最靠譜的選擇,支持電子出版
看云為免費(fèi)用戶提供
官網(wǎng)地址: 看云 | 專注技術(shù)文檔在線創(chuàng)作、閱讀、分享和托管
看云文檔示例:序言 · ThinkPHP3.2.3完全開發(fā)手冊 · 看云
在線文檔編輯與協(xié)同工具,免費(fèi)用戶一共有10GB上傳流量
官網(wǎng)地址:
幫助文檔示例:
BookStack 是基于 Mindoc、使用Go語言的Beego框架開發(fā)的功能類似GitBook和看云的在線文檔管理系統(tǒng),實(shí)現(xiàn)了文檔采集、導(dǎo)入、電子書生成以及版本管理的文檔功能,并推出了配套的開源微信小程序 BookChat 和配套的開源手機(jī)APP BookChatApp 。
詳細(xì) 安裝部署文檔
在線文檔管理系統(tǒng),相當(dāng)完備,需要有一臺(tái)服務(wù)器自建
演示官網(wǎng):
開源地址: TruthHun/BookStack
非常輕量級的文檔,可以托管在Github page
官網(wǎng)及演示:
開源地址:
這是一個(gè)開源文檔,可以托管在Github page等平臺(tái),支持markdown
演示以及文檔:
開源地址:
這是一個(gè)開源接口文檔在線管理系統(tǒng)
官網(wǎng)地址:
說明文檔及演示:
開源wiki系統(tǒng),支持多人協(xié)作,以及豐富的后臺(tái)管理設(shè)置,個(gè)人覺得比mediawiki好看多了
官網(wǎng)及演示:
開源wiki程序
官網(wǎng)及演示:
開源地址:
這里我介紹兩種方法!
一 ?:用IIS或者Apache之類的web服務(wù)器軟件實(shí)現(xiàn)http文件共享
?這里我以IIS為例介紹下用常用的web服務(wù)器實(shí)現(xiàn)文件共享的方法,具體如下(以我機(jī)器為例):
? 1、打開IIS,打開“網(wǎng)站 -- 默認(rèn)網(wǎng)站”,右鍵點(diǎn)擊“屬性”,點(diǎn)擊“主目錄”,勾選“目錄瀏覽”選項(xiàng),如下圖所示:
??
2、進(jìn)入文件夾C:\Inetpub\wwwroot,拷貝文件“1.7z“到這個(gè)目錄:
? ?
3、打開瀏覽器,輸入本機(jī)ip(比如我的:192.168.1.123),即可看到共享的文件并可以下載:
? ?
? ?點(diǎn)擊“1.7z”即可下載。
二 ?:用python或者go語言實(shí)現(xiàn)http文件共享
1、python實(shí)現(xiàn)http文件共享:
? 用過python的都知道python有一個(gè)很牛x的命令:
python?-m?SimpleHTTPServer
在C:\Python27下運(yùn)行命令:
?打開瀏覽器,可以看到如下效果:
?這個(gè)命令的默認(rèn)端口是8000,如果我再加一個(gè)端口參數(shù),可以用其它端口進(jìn)行訪問,命令如下:
打開瀏覽器:
? ??知道了這個(gè)原理,可以寫個(gè)bat文件,在需要的時(shí)候copy到相應(yīng)的目錄雙擊即可,比如我的httpShare.bat文件如下:
? ? ?python -m SimpleHTTPServer 80
? ? ?默認(rèn)用80端口,訪問時(shí)候只需要輸入我的ip地址即可。
2、go語言實(shí)現(xiàn)http文件共享:
上面的方法很方便,windows和linux通吃,不過前提是要安裝python
這里我有個(gè)用go語言實(shí)現(xiàn)的,也是windows和linux通吃(windows下不知道怎么配置的可以參考我之前的文章:,類似C/C++,是代碼可移植,使用前你只需編譯一次。
下面是示例代碼(httpShare.go):
package?main
import?(
"http"
"fmt"
)
func?main(){
h?:=?http.FileServer(http.Dir("."))
var?port?string
fmt.Printf("Please?input?port?Number:?")
fmt.Scanf("%s",port)
http.ListenAndServe(":"+port,?h)???
}
運(yùn)行效果:
網(wǎng)頁題目:go語言共享文檔管理 go語言上傳文件
文章URL:http://vcdvsql.cn/article40/doisieo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、微信公眾號、云服務(wù)器、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)