Go 的package


 

一、包的一些基本的概念

1、在同一個目錄下的所有go文件中,只能有一個main函數。如果存在多個main函數,則在編譯的時候會報錯

那么,在同一個目錄下的兩個go文件究竟是什么關系? 為什么會彼此影響呢?

這里要提到go package的兩個約束:

1、同一個目錄下的go文件,如果package是main,那么這個目錄下的go文件只能有一個main函數。

2、同一個目錄下的go文件,只能是一個package。 (注意: 這里說的是同一個目錄下的go文件,但不是同一個目錄下的其他目錄中的go文件)

 

那么問題來了,為什么需要package呢?

在一個項目中,會有很多個go文件,package的作用就是進行一個代碼分類組織

舉個例子:

  1.在hello.go里面定義個main函數,引用了main的package。

  2.在另一個echo.go里面,因為只能有一個main函數,所以這里只定義了變量 var X string  = "chenchao"

  3.那么在hello.go里面就可以直接用另一個文件中的X變量了

package的作用:

  1、同一個package下可以共享變量

  2、同一個package下可以共享函數

 

 二、一個在線的package的幫助文檔

 

 http://godoc.org/+包的名稱

 

 三、引入第三方的package

例如: 引入github下的一個庫

1、go get github.com/icexin/golib

  這一步操作就是講git上的庫下載到本地,你會發現這條命令會將package默認下載到 $GOPATH下的/src/下,並與package的目錄結構一致。

2、在/src/的其他目錄下新創建一個目錄如:/thirdlib/,作為另一個package,然后在目錄下新建一個main.go文件,並導入剛才下載的第三方package

  

這里引入的第三方package 是一個全路徑,這個路徑就是從 $GOPATH/src/開始算起。所以,要寫的路徑就是從/src/開始。

 


免責聲明!

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



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