章节

  • package 作用及定义

1.package 作用及定义

  • package 是 最基本的分发单位工程管理中依赖关系 的体现
  • 每个GO语言源代码文件开头都拥有一个package声明,表示源码文件所属的代码包
  • 要生成GO语言可执行程序,必须要有main的package包,且必须在该包下有main()函数
  • 同一个路径下只能存在一个package,一个package可以拆成多个源文件组成

2.实践-验证上述package作用及定义

2.1 必须要有 package main 包 且 必须在该包下有main函数

package 包名不为main

package main1 import "fmt" func main1() { fmt.Println("测试") } 

运行结果如下图所示:


img_91da8ce88f2850926d606cadab073e82.png
package name->main1

2.2 package main 包中没有main函数-func main1() {...}

package main1 import "fmt" func main1() { fmt.Println("测试") } 

运行结果如下所示:


img_7d1923d2d55d13fea5d5911ec5804fe1.png
func name->main1

所以package main 下面需要有main函数,否则生成不了可执行文件

2.3 package 名不为main

//package 包名与文件夹名要求保持一致 package learn02 import "fmt" func test02() { fmt.Println("i am test") } 

package learn02 与 项目文件夹结构目录保持一致

img_7da1767f1233ac230b04e59742610c95.png
package learn02 与 项目文件夹结构目录保持一致

test02.go 源代码编译情况如下所示:
源代码文件可正常编译
img_bdff76f55037ec65b28ffc894ea56ecf.png
test02.go 源文件可正常编译

2.4 同一个路径下只能存在一个package,一个package可以拆成多个源文件组成

目录结构下新建 main02.go

img_f65205039c3c43d1488400145c161f46.png
同一个路径下只存在一个package

运行情况

go build main02.go 
img_9ebd26d483f23eb12d99c90feb53e6fc.png
main02.go 可正常编译、但未生成可执行文件

2.5 一个package可以包含多个源文件

项目目录结构如下所示:


img_920e93e878dce66aa65c41e242a0dfb7.png
一个package可以包含多个源文件