Golang包

全部可執行的Go程序都必須包含一個main函數,做爲程序運行的入口,main函數放在main包中。java

經過package packagename來指定一個包。函數

自定義包

咱們能夠在Go工做區內的src文件夾中建立一個文件夾,屬於一個包的源文件應該放置在一個單獨命名的文件夾裏,按照Go慣例,應該用包名命名該文件夾。code

在自定義的文件夾中建立源文件,當咱們須要導入自定義包時,經過import方式,後面的包名是至關於src文件夾的相對路徑。編譯器

自定義包中的源文件用自定義包名命名,包中可被外部引用訪問的方法須要用大寫字母命名。it

在Go慣例中,大寫字母開頭的方法是public方法,是能夠被導出的方法。編譯

init函數

全部包均可以包含一個init函數,此函數不該該有任何返回值類型和參數,代碼中也不能顯示的調用它。import

func init(){
}

init函數用於執行初始化任務,相似於java中的static代碼塊。變量

包初始化順序

順序以下:module

  • 被依賴的包會先進行初始化,一個包可能被導入屢次,但只會被初始化一次。
  • 首先初始化包級別變量。
  • 接着調用init函數,包中能夠包含多個init函數,編譯器按本身的解析順序調用。

在Go中,若是導入了某個包而不使用它,編譯器會報錯。 若是想導入但不報錯,能夠採用空白標識符_來避免程序報錯。引用

package main

import(
    _ "module/customerpackage"
)

func main(){

}
相關文章
相關標籤/搜索