import
咱們在寫Go代碼的時候常常用到import這個命令用來導入包文件,而咱們常常看到的方式參考以下:
import(
"fmt"
)
而後咱們代碼裏面能夠經過以下的方式調用
fmt.Println("hello world")
上面這個fmt是Go語言的標準庫,實際上是去goroot下去加載該模塊,固然Go的import還支持以下兩種方式來加載本身
寫的模塊:
1. 相對路徑
import 「./model」 //當前文件同一目錄的model目錄,可是不建議這種方式來import
2. 絕對路徑
import 「shorturl/model」 //加載gopath/src/shorturl/model模塊
上面展現了一些import經常使用的幾種方式,可是還有一些特殊的import,讓不少新手很費解,下面咱們來一一講解一下
究竟是怎麼一回事
1. 點操做
咱們有時候會看到以下的方式導入包
import(
. "fmt"
)
這個點操做的含義就是這個包導入以後在你調用這個包的函數時,你能夠省略前綴的包名,也就是前面你調
用的fmt.Println("hello world")能夠省略的寫成Println("hello world")
2. 別名操做
別名操做顧名思義咱們能夠把包命名成另外一個咱們用起來容易記憶的名字
import(
f "fmt"
)
別名操做的話調用包函數時前綴變成了咱們的前綴,即f.Println("hello world")
3. _操做
這個操做常常是讓不少人費解的一個操做符,請看下面這個import
import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
)
_操做實際上是引入該包,而不直接使用包裏面的函數,而是調用了該包裏面的init函數。mysql