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的入门算是写完啦

猜你喜欢

转载自www.cnblogs.com/yangshixiong/p/12146295.html