Golang学习笔记(三):包
概念
Go语言中的包,类似其他语言中的库或命名空间,主要是用于组织代码和方便代码复用。
作为一个独立的空间,每个包可以包含多个以.go结尾的源代码文件。
包所在的目录路径,则作用包的导入路径,比如有github.com/util,对应的路径为:
$GOPATH/src/github.com/util
另外,包名最要使用小写,每个包有全局唯一的导入路径,包名则是目录路径,如github.com/util,util
是包名
访问性
package util
var a string
func Format(f format,a ...interface{}){
//函数体
}
在上面定义的util
包中,Format
函数首字母为大写,因为,在其他包可以访问,而变量a则只在包内可见。
包文档
包的源文件代码第一句是以package
开头的包声明语句,在package
之前,可以添加注释作为包的说明,一般只需要在一个源文件中添加说明,之后可以使用Go提供的工具链导出包文档,如果包文档说明很大,可以在包中单独建一个doc.go
文档说明文档。
包的初始化
在包中,可以使用表达式或常量值初始化某些变量,对于一些复杂的初始化,也可以放在init
函数中,包中的每个源文件都可以定义一个init
函数,这个函数不会被导出,而编译器在编译包时,会根据源文件编译顺序,执行每一个源文件中的init
函数。
因此,main包中main函数所在的源文件如果有定义init
函数,则一般最后执行,因为编译要保证main
执行前,所有包都初始化好了。
package util
var c = b + c
var a = 1
var b = 2
var d string
func init(){
d = "str"
}
ft_authoradmin ft_create_time2019-08-03 17:04
ft_update_time2019-08-03 17:04
ft_update_time2019-08-03 17:04