1. 程式人生 > 其它 >【go筆記】包管理

【go筆記】包管理

go語言學習筆記之包管理

前言

在很多程式語言中,為了封裝和隔離程式碼,同時也為了程式碼複用,都有包或者名稱空間的語法要素,比如c#中的namespace以及java中的package。Go語言中包的作用和其它語言中的庫和模組類似。

在go語言中,包的宣告語法如下:

package packagename

包名告訴編譯器,當前檔案屬於哪個包。一般來說,Go語言包的原始碼存放在一個根目錄中,其中包含一個或者多個.go檔案。這些.go檔案按照目錄進行分組並構建出上下級的層級結構。每組.go檔案被稱為包。

所有.go檔案除了包的註釋和空行外,第一行都應該對包進行宣告。每個包都在一個單獨的目錄中,但不能將多個包放在同一個目錄中,也不能將同一個包中的檔案分散到不同的目錄中。簡單來說,同一個目錄中的所有.go

檔案必須屬於同一個包名,否則會報錯。

如果當前編寫的Go程式要作為一個可執行的程式,那麼必須包含一個main包和一個main函式。

示例程式碼: test.go

package pk2
import "fmt"
func Hello() {
    fmt.Println("Hello World")
}

例項程式碼的檔名為test.go,目錄名為pk2

執行如下命令會生成庫檔案

go install ./test.go

如果成功執行,那麼會在${GOPATH}/pkg/test2021目錄下生成一個pk2.a檔案。

包的匯入

包的匯入語法如下:

import packagename
// 或
import (
	"./test2021" // 當前目錄下的test2021
)

示例:

package main
import (
	"fmt"
    "test2021/pk2"
)
func main() {
    pk2.Hello()
    fmt.Println("======")
}