包的概念
go的每一个文件都属于一个包,也即是go用包的形式来管理文件和项目目录结构。
包的三大作用
- 区分相同名字的函数、变量等标识符。
- 当程序文件很多时,可以很好地管理项目。
- 控制函数、变量的访问范围,即作用域。
包的注意事项
- 文件的包名通常和文件所在的文件夹名一致,一般为小写字母。
不一致的状况:import时的路径注意写文件夹名,但使用包的函数时,要用包名。
- import的方式
1)分别:import "包名"
2)一起:
import(
"包名"
"包名"
)
-
package指令在第一行,然后才是import指令。
-
在import包时,路径从$GOPATH的src下开始,不用带src,编译器会自动从src下引入。
-
跨包访问函数,函数首字母需要大写。变量同样。语法:包名.函数名或变量。
-
Go支持给包取别名,之后原来的名不能用。需要通过别名访问该包的函数和变量。
-
同一个包下,不能有相同的函数名和全局变量名,否则重复。
-
若编译一个可执行程序文件,需要将这个包声明为main,即要package main。若写一个库,包名可以自定义。可以指定生成的可执行程序文件名字和目录。
e.g.放在bin目录下,名字为my:
D:\goproject>go build-o bin/my.exe go_code/project/main