對(duì)Golang import 導(dǎo)入包語(yǔ)法詳解
package 的導(dǎo)入語(yǔ)法
寫 Go 代碼的時(shí)經(jīng)常用到 import 這個(gè)命令用來(lái)導(dǎo)入包,參考如下:
import( "fmt" )
然后在代碼里面可以通過(guò)如下的方式調(diào)用:
fmt.Println( "我愛北京天安門" )
fmt 是 Go 的標(biāo)準(zhǔn)庫(kù),它其實(shí)是去 GOROOT 下去加載該模塊,當(dāng)然 Go 的 import 還支持如下兩種方式來(lái)加載自己寫的模塊:
相對(duì)路徑
import "./model" // 當(dāng)前文件同一目錄的 model 目錄,但是不建議這種方式 import
絕對(duì)路徑
import "shorturl/model" // 加載 GOPATH/src/shorturl/model 模塊
package 的導(dǎo)入的特殊用法
上面展示了一些 import 常用的幾種方式,但是還有一些特殊的 import ,讓很多新手很費(fèi)解,下面是三種導(dǎo)入包的使用方法。
點(diǎn)操作
有時(shí)候會(huì)看到如下的方式導(dǎo)入包:
import( . "fmt" )
這個(gè)點(diǎn)操作的含義就是這個(gè)包導(dǎo)入之后在你調(diào)用這個(gè)包的函數(shù)時(shí),你可以省略前綴的包名,也就是前面你調(diào)用的:
fmt.Println( "我愛北京天安門" )
可以省略的寫成:
Println( "我愛北京天安門" )
別名操作
別名操作顧名思義可以把包命名成另一個(gè)用起來(lái)容易記憶的名字:
import( f "fmt" )
別名操作調(diào)用包函數(shù)時(shí)前綴變成了重命名的前綴,即:
f.Println( "我愛北京天安門" )
下劃線操作
這個(gè)操作經(jīng)常是讓很多人費(fèi)解的一個(gè)操作符,請(qǐng)看下面這個(gè) import
import ( “database/sql” _ “github.com/ziutek/mymysql/godrv” )
下滑線 “_” 操作其實(shí)只是引入該包。當(dāng)導(dǎo)入一個(gè)包時(shí),它所有的 init() 函數(shù)就會(huì)被執(zhí)行,但有些時(shí)候并非真的需要使用這些包,僅僅是希望它的 init() 函數(shù)被執(zhí)行而已。這個(gè)時(shí)候就可以使用 “_” 操作引用該包了。即使用 “_” 操作引用包是無(wú)法通過(guò)包名來(lái)調(diào)用包中的導(dǎo)出函數(shù),而是只是為了簡(jiǎn)單的調(diào)用其 init() 函數(shù)。
以上這篇對(duì)Golang import 導(dǎo)入包語(yǔ)法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Go語(yǔ)言中Redis緩存與本地內(nèi)存緩存實(shí)戰(zhàn)
在現(xiàn)代高并發(fā)系統(tǒng)中,緩存技術(shù)是提升性能和降低數(shù)據(jù)庫(kù)壓力的關(guān)鍵手段,本文將為大家介紹一下Redis緩存與本地內(nèi)存緩存的具體應(yīng)用,需要的可以了解下2025-03-03
GoLang協(xié)程庫(kù)libtask學(xué)習(xí)筆記
libtask一個(gè)C語(yǔ)言的協(xié)程庫(kù),是go語(yǔ)言的前身很早期的原型. 測(cè)試機(jī)器是我的mac air 安裝的centos虛擬機(jī)(只有一個(gè)核), 代碼沒有采用任何優(yōu)化,只是使用默認(rèn)配置2022-12-12
Go語(yǔ)言實(shí)現(xiàn)棧與隊(duì)列基本操作學(xué)家
go語(yǔ)言中,并沒有棧與隊(duì)列相關(guān)的數(shù)據(jù)結(jié)構(gòu),但是我們可以借助切片來(lái)實(shí)現(xiàn)棧與隊(duì)列的操作;接下來(lái)我們一起實(shí)現(xiàn)棧與隊(duì)列基本操作,感興趣的可以了解一下2022-11-11
Go語(yǔ)言Seeker接口與文件斷點(diǎn)續(xù)傳實(shí)戰(zhàn)教程
Go語(yǔ)言的io包中Seeker接口為大文件處理或需要隨機(jī)訪問(wèn)的場(chǎng)景提供了強(qiáng)大的支持,本文通過(guò)具體案例詳細(xì)介紹了Seeker接口的應(yīng)用,包括隨機(jī)訪問(wèn)大文件、斷點(diǎn)續(xù)傳等場(chǎng)景,以及如何使用Seeker接口進(jìn)行有效的文件讀寫操作2024-10-10
使用?gomonkey?Mock?函數(shù)及方法示例詳解
在 Golang 語(yǔ)言中,寫單元測(cè)試的時(shí)候,不可避免的會(huì)涉及到對(duì)其他函數(shù)及方法的 Mock,即在假設(shè)其他函數(shù)及方法響應(yīng)預(yù)期結(jié)果的同時(shí),校驗(yàn)被測(cè)函數(shù)的響應(yīng)是否符合預(yù)期,這篇文章主要介紹了使用?gomonkey?Mock?函數(shù)及方法,需要的朋友可以參考下2022-06-06
Go Time庫(kù)中時(shí)間和日期相關(guān)的操作方法整理
這篇文章主要為大家整理了Go語(yǔ)言中的time庫(kù),包括時(shí)間、日期和時(shí)區(qū)等相關(guān)概念及使用方法,希望通過(guò)掌握這些知識(shí),大家可以更好地處理時(shí)間、日期和時(shí)區(qū)相關(guān)的問(wèn)題2023-08-08
Golang中time.After的使用理解與釋放問(wèn)題
這篇文章主要給大家介紹了關(guān)于Golang中time.After的使用理解與釋放問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
Go語(yǔ)言工程實(shí)踐單元測(cè)試基準(zhǔn)測(cè)試示例詳解
這篇文章主要為大家介紹了Go語(yǔ)言工程實(shí)踐單元測(cè)試基準(zhǔn)測(cè)試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02

