欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang中的包及包管理工具go?mod詳解

 更新時(shí)間:2022年07月25日 11:54:14   作者:夜?jié)M星河  
這篇文章主要介紹了Golang中的包及包管理工具go?mod,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、包

1.包的種類(lèi):系統(tǒng)內(nèi)置包、自定義包、第三方包。

(1)系統(tǒng)內(nèi)置包:go語(yǔ)言自帶包,如str.conv、fmt等

(2)自定義包:開(kāi)發(fā)者自己寫(xiě)的包

(3)第三方包:屬于自定義包的一種,需下載到本地才能使用, 如可以從GitHub上下載的第三方包。

2.包是多個(gè)go源文件的集合,一個(gè)package下可以有多個(gè)go文件,歸屬于同一package

二、包管理工具go mod

1.在go的1.11版本之前如果想自定義包需要把項(xiàng)目放在GOPATH目錄下。在go的1.11版本之后無(wú)需手動(dòng)配置環(huán)境變量,使用go mod管理項(xiàng)目,也不需要把項(xiàng)目放在GOPATH下。在go的1.13版本之后就徹底

不需要GOPATH了。

2.實(shí)際開(kāi)發(fā)中首先需要在項(xiàng)目目錄下通過(guò)go mod init命令來(lái)創(chuàng)建一個(gè)go.mod文件來(lái)管理項(xiàng)目,如在項(xiàng)目project下初始化項(xiàng)目:go mod init project。一個(gè)項(xiàng)目中必須要有main包和main方法。

3.一個(gè)包里可以定義方法或變量,如果方法名或變量名大寫(xiě),則此方法或變量可以被其他包引用并使用,表示公有,小寫(xiě)為私有。

三、init函數(shù)

1.如果在go文件里定義了init函數(shù),則init函數(shù)會(huì)在程序運(yùn)行時(shí)自動(dòng)被調(diào)用執(zhí)行,且為最先執(zhí)行。

2.如果一個(gè)包引用了另一個(gè)包,另一個(gè)包又引用了另一個(gè)包,被最后導(dǎo)入的包會(huì)最先初始化并執(zhí)行init函數(shù)。

四、使用第三方包

1.首先在github上找到第三方包,下載到本地即可進(jìn)行引用。

2.安裝方法:

(1)go get 包名稱(chēng)(全局,受網(wǎng)絡(luò)影響)

(2)go mod download(全局,下載當(dāng)前包的依賴(lài))

(3)go mod vendor(將依賴(lài)復(fù)制到當(dāng)前項(xiàng)目的vendor下,本項(xiàng)目)

補(bǔ)充:下面看下go mod包管理工具

修改go的.env文件中的配置

GO111MODULE=on
GOBIN=/Users/youdi/go/bin
GOPROXY=https://goproxy.cn,direct
GOSUMDB=off

進(jìn)入goPath路徑下的src目錄

執(zhí)行命令

go mod init 項(xiàng)目名

會(huì)生成go.mod文件

下載需要的包,移除多余的包

go mod tidy

go mod 命令介紹

命令說(shuō)明
downloaddownload modules to local cache(下載依賴(lài)包)
editedit go.mod from tools or scripts(編輯go.mod)
graphprint module requirement graph (打印模塊依賴(lài)圖)
verifyinitialize new module in current directory(在當(dāng)前目錄初始化mod)
tidyadd missing and remove unused modules(拉取缺少的模塊,移除不用的模塊)
vendormake vendored copy of dependencies(將依賴(lài)復(fù)制到vendor下)
verifyverify dependencies have expected content (驗(yàn)證依賴(lài)是否正確)
whyexplain why packages or modules are needed(解釋為什么需要依賴(lài))

到此這篇關(guān)于Golang中的包及包管理工具go mod的文章就介紹到這了,更多相關(guān)go包管理工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何使用go-zero開(kāi)發(fā)線(xiàn)上項(xiàng)目

    如何使用go-zero開(kāi)發(fā)線(xiàn)上項(xiàng)目

    這篇文章主要介紹了如何使用go-zero開(kāi)發(fā)線(xiàn)上項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 重學(xué)Go語(yǔ)言之如何使用Modules

    重學(xué)Go語(yǔ)言之如何使用Modules

    Go語(yǔ)言在Go.1.11版本發(fā)布了Go?Modules,這是一種新的Go項(xiàng)目依賴(lài)管理解決方案,可以讓Go項(xiàng)目的依賴(lài)包關(guān)系更加清晰,也更容易管理,下面就來(lái)看看Modules是如何使用的吧
    2023-07-07
  • 使用go在mangodb中進(jìn)行CRUD操作

    使用go在mangodb中進(jìn)行CRUD操作

    這篇文章主要介紹了使用go在mangodb中進(jìn)行CRUD操作,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • golang mysql的連接池的具體使用

    golang mysql的連接池的具體使用

    本文主要介紹了golang mysql的連接池的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Go Struct結(jié)構(gòu)體的具體實(shí)現(xiàn)

    Go Struct結(jié)構(gòu)體的具體實(shí)現(xiàn)

    Go語(yǔ)言中通過(guò)結(jié)構(gòu)體的內(nèi)嵌再配合接口比面向?qū)ο缶哂懈叩臄U(kuò)展性和靈活性,本文主要介紹了Go Struct結(jié)構(gòu)體的具體實(shí)現(xiàn),感興趣的可以了解一下
    2023-03-03
  • Go語(yǔ)言Elasticsearch數(shù)據(jù)清理工具思路詳解

    Go語(yǔ)言Elasticsearch數(shù)據(jù)清理工具思路詳解

    這篇文章主要介紹了Go語(yǔ)言Elasticsearch數(shù)據(jù)清理工具思路詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • Golang實(shí)現(xiàn)AES加密和解密的示例代碼

    Golang實(shí)現(xiàn)AES加密和解密的示例代碼

    AES( advanced encryption standard)使用相同密鑰進(jìn)行加密和解密,也就是對(duì)稱(chēng)加密。本文將詳細(xì)講解Golang實(shí)現(xiàn)AES加密和解密的方法,感興趣的可以學(xué)習(xí)一下
    2022-05-05
  • GO語(yǔ)言判斷一個(gè)網(wǎng)段是否屬于另一個(gè)網(wǎng)段的子網(wǎng)

    GO語(yǔ)言判斷一個(gè)網(wǎng)段是否屬于另一個(gè)網(wǎng)段的子網(wǎng)

    這篇文章主要介紹了GO語(yǔ)言判斷一個(gè)網(wǎng)段是否屬于另一個(gè)網(wǎng)段的子網(wǎng)的相關(guān)資料,內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的朋友可任意參考一下
    2022-03-03
  • 詳解Golang語(yǔ)言中的interface

    詳解Golang語(yǔ)言中的interface

    這篇文章主要介紹了Golang語(yǔ)言中的interface的相關(guān)資料,幫助大家更好的理解和使用golang,感興趣的朋友可以了解下
    2021-01-01
  • gorm golang 并發(fā)連接數(shù)據(jù)庫(kù)報(bào)錯(cuò)的解決方法

    gorm golang 并發(fā)連接數(shù)據(jù)庫(kù)報(bào)錯(cuò)的解決方法

    今天小編就為大家分享一篇gorm golang 并發(fā)連接數(shù)據(jù)庫(kù)報(bào)錯(cuò)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07

最新評(píng)論