Go语言学习之旅17——init函数

init函数将会在程序运行的一开始执行,如果导入了其他的依赖包,依赖包的init函数也会自动执行,即使没有使用依赖包内的任何函数

由于go语言导入的包不使用就会报错,因此需要在包名前加上_,代表引入此包仅为了执行其init函数,而无需调用其他方法

被引入的包:

1
2
3
4
5
6
7
package test_init

import "fmt"

func init() {
fmt.Println("test init...")
}

调用包:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main

import (
"fmt"
_ "sherlockgy.com/LearnGo/test_init"
)

func init() {
fmt.Println("main init")
}

func main() {
fmt.Println("test")
}

执行结果如下:

1
2
3
test init...
main init
test