【go筆記】包管理
阿新 • • 發佈:2021-11-14
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("======")
}