Golang import 匯入包語法及一些特殊用法詳解
阿新 • • 發佈:2020-02-24
package 的匯入語法
寫 Go 程式碼的時經常用到 import 這個命令用來匯入包,參考如下:
import( "fmt" )
然後在程式碼裡面可以通過如下的方式呼叫:
fmt.Println( "我愛我們" )
fmt 是 Go 的標準庫,它其實是去 GOROOT 下去載入該模組,當然 Go 的 import 還支援如下兩種方式來載入自己寫的模組:
相對路徑
import "./model" // 當前檔案同一目錄的 model 目錄,但是不建議這種方式 import
絕對路徑
import "shorturl/model" // 載入 GOPATH/src/shorturl/model 模組
package 的匯入的特殊用法
上面展示了一些 import 常用的幾種方式,但是還有一些特殊的 import ,讓很多新手很費解,下面是三種匯入包的使用方法。
點操作
有時候會看到如下的方式匯入包:
import( . "fmt" )
這個點操作的含義就是這個包匯入之後在你呼叫這個包的函式時,你可以省略字首的包名,也就是前面你呼叫的:
fmt.Println( "我愛我們" )
可以省略的寫成:
Println( "我愛我們" )
別名操作
別名操作顧名思義可以把包命名成另一個用起來容易記憶的名字:
import( f "fmt" )
別名操作呼叫包函式時字首變成了重新命名的字首,即:
f.Println( "我愛我們" )
下劃線操作
這個操作經常是讓很多人費解的一個操作符,請看下面這個 import
import ( “database/sql” _ “github.com/ziutek/mymysql/godrv” )
下滑線 “_” 操作其實只是引入該包。當匯入一個包時,它所有的 init() 函式就會被執行,但有些時候並非真的需要使用這些包,僅僅是希望它的 init() 函式被執行而已。這個時候就可以使用 “_” 操作引用該包了。即使用 “_” 操作引用包是無法通過包名來呼叫包中的匯出函式,而是隻是為了簡單的呼叫其 init() 函式。
更多關於Golang import 匯入包語法及一些特殊用法請檢視下面的相關連結