- init函数全局赋值
- init是在main函数之前执行的,并且由编译器自动调用,并且按声明包的顺序依次调用
- 举例:
- 在trans目录下(必须在GO的工作空间目录下,我这里是D:/go)有个文件init.go文件,里面有个初始化函数init
package trans
import "math"
var Pi float64
func init() {
Pi = 4 * math.Atan(1) // init() function computes Pi
}
- 在GO的工作空间目录下的main.go调用trans目录下的init.go,并且在main函数前调用init.go中的init函数
package main
import (
"fmt"
"./trans"
)
var twoPi = 2 * trans.Pi
func main() {
fmt.Printf("twoPi = %g\n", twoPi)
}
- 调用结果:
twoPi = 6.283185307179586
- 在trans目录下(必须在GO的工作空间目录下,我这里是D:/go)有个文件init.go文件,里面有个初始化函数init