go入门8 --- 包
Posted yangshixiong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go入门8 --- 包相关的知识,希望对你有一定的参考价值。
go中所有的代码都必须放在package中,对于package
- 源文件头部以 "package <name>" 声明包名称。
- 包由同一目录下的多个源码文件组成。
- 包名类似 namespace,与包所在目录名、编译文件名无关。
- 目录名最好不用 main、all、std 这三个保留名称;
- 可执行件必须包含 package main,入口函数 main;
包中成员以名称的首字母是否大写来决定访问权限
- 首字母大写,可被包外访问;
- 首字母小写,近包内成员可以访问。
使用包之前,必须先用import关键字导入,注意不要形成倒入循环,也就是两个包相互导,前段时间,就遇到了这个错误
跟python类似,也可以给导入的包起别名,也可以全部导入,另外,go中如果导入的包没有使用,会报错,如果必须要到,可以使用_进行忽略,例如
import _ "os"
这个就会执行包内的初始化函数
对于初始化函数,每个源文件都可以定义一个或多个初始化函数,编译器不能保证初始化函数执行次序,初始化函数在单一线程中只会执行一次,并且是在包的全部全局变量执行之后,main.main才会被执行,初始化函数是无法调用的
func main() { fmt.Println("main") } func init(){ fmt.Println("init") } // init main
至此,go的入门算是写完啦
以上是关于go入门8 --- 包的主要内容,如果未能解决你的问题,请参考以下文章