package testPackage
func init() {
println("init one")
}
func init() {
println("init two")
}
-----------------------------------------------------------------------------------------
package main
import (
_ "balabala/output/testPackage"
"fmt"
)
func main() {
fmt.Println("???")
fmt.Println("???")
}
func init() {
println(1111)
}
func init() {
println(2222)
}
// 这里,每次执行的结果会变化
// 第一次
init one
???
init two
1111
2222
???
// 第二次
init one
init two
1111
2222
???
???
// 第三次
???
???
init one
init two
1111
2222
这里,每个init执行的相对顺序是没有变的,但是main函数里println的执行顺序会不停的穿插变化,一般来说不会有什么大的问题,mark一下
有疑问加站长微信联系(非本文作者)