章節(jié)
- package 作用及定義
1.package 作用及定義
- package 是 最基本的分發(fā)單位 和 工程管理中依賴關(guān)系 的體現(xiàn)
- 每個GO語言源代碼文件開頭都擁有一個package聲明,表示源碼文件所屬的代碼包
- 要生成GO語言可執(zhí)行程序,必須要有main的package包,且必須在該包下有main()函數(shù)
- 同一個路徑下只能存在一個package,一個package可以拆成多個源文件組成
2.實(shí)踐-驗(yàn)證上述package作用及定義
2.1 必須要有 package main 包 且 必須在該包下有main函數(shù)
package 包名不為main
package main1
import "fmt"
func main1() {
fmt.Println("測試")
}
運(yùn)行結(jié)果如下圖所示:

package name->main1
2.2 package main 包中沒有main函數(shù)-func main1() {...}
package main1
import "fmt"
func main1() {
fmt.Println("測試")
}
運(yùn)行結(jié)果如下所示:

func name->main1
所以package main 下面需要有main函數(shù),否則生成不了可執(zhí)行文件
2.3 package 名不為main
//package 包名與文件夾名要求保持一致
package learn02
import "fmt"
func test02() {
fmt.Println("i am test")
}
package learn02 與 項(xiàng)目文件夾結(jié)構(gòu)目錄保持一致

package learn02 與 項(xiàng)目文件夾結(jié)構(gòu)目錄保持一致
test02.go 源代碼編譯情況如下所示:
源代碼文件可正常編譯

test02.go 源文件可正常編譯
2.4 同一個路徑下只能存在一個package,一個package可以拆成多個源文件組成
目錄結(jié)構(gòu)下新建 main02.go

同一個路徑下只存在一個package
運(yùn)行情況
go build main02.go

main02.go 可正常編譯、但未生成可執(zhí)行文件
2.5 一個package可以包含多個源文件
項(xiàng)目目錄結(jié)構(gòu)如下所示:

一個package可以包含多個源文件