Go語言- import 導入包的語法


一 包的導入語法

  在go語言中一個包(文件夾)中可以包含多個 go 文件,每一個文件通過文件第一行的 package 來指明自己所在的包,原則上應該與自己所在的文件夾同名,但也可以指定為其他名稱,但同一個文件夾下所有的 go文件應該指定相同的包名,不然報錯,當我們在另一個夠文件通過 import 來引入包時,默認引入了此文件夾下的所有夠文件.詳情如下:


     在寫Go代碼的時候經常用到import這個命令用來導入包文件,看到的方式參考如下:

 import(
         "fmt"
 )

 然后在代碼里面可以通過如下的方式調用

fmt.Println("hello world")   

      上面這個fmt是Go語言的標准庫,他其實是去GOROOT下去加載該模塊,當然Go的import還支持如下兩種方式來加載自己寫的模塊:
      相對路徑     import   "./model"        //當前文件同一目錄的model目錄,但是不建議這種方式import
      絕對路徑     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()函數就會被執行,但有些時候並非真的需要使用這些包,僅僅是希望它的init()函數被執行而已。這個時候就可以使用_操作引用該包了。即使用_操作引用包是無法通過包名來調用包中的導出函數,而是只是為了簡單的調用其init函數()。

原文鏈接:https://blog.csdn.net/zhangzhebjut/article/details/25564457


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM