go-doc-包

包的本质实质上就是创建不同的文件夹,来存放程序文件。

go的每一个文件都属于一个包,也就是说go是以包的形式来管理文件和项目目录结构的

包的作用

  1. 区分相同名字的函数、变量等标识符
  2. 当程序文件很多时,可以很好的管理项目
  3. 控制函数、变量等访问范围,即作用域

包的使用

包的搜索目录是在环境变量GOPATH/src开始

包的使用要点

  1. 包的名字一般都是全小写
  2. 在访问其他包的函数、变量时,其语法是 包名.函数名
  3. Go支持给包去别名,取别名后,原来的包名就不能再使用
  4. 在同一个包下,不能有相同的函数名和全局变量,否则包重复定义
  5. 如果要编译成一个可执行程序文件,需要将包名声明为main,如果写的是一个库,包名可以自定义

例如下面,GOPATH=D:\project-go

D:\project-go\src\go_code\project01\package\utils.go
1
2
3
4
5
6
7
package utils 

// 计算num1和num2的和
// return:返回最终有效的和
func Cal(num1 int, num2 int) (int) {
return num1 + num2
}
D:\project-go\src\go_code\project01\package2\utils.go
1
2
3
4
5
6
7
package utils

// 计算num1和num2的和在加上100
// return:返回最终有效的和
func Cal(num1 int, num2 int) (int) {
return num1 + num2 + 100
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main 

import (
"fmt"
"go_code/project01/package"
utils2 "go_code/project01/package2"
)

func main() {
var i int = utils.Cal(1, 2)
fmt.Println(i)

var i2 int = utils2.Cal(1, 2)
fmt.Println(i2)
}

```