
go语言中init()初始化的时机早于main(),如果想在主程序开始之前加载一些配置文件,或数据库内容,或一些基本的环境变量的初始化,可以在init()函数中操作。

调用的包内函数名首字母大写时才能在包外被引用。
匿名导包方式
当导包时想用init函数但是不想调用该包内的接口,可以在导包时在包路径前加_,表明包导入但不使用。
别名导包方式
- 在导包的路径前加一个别名。
- 在导包的路径前加一个.,表示将该包内的接口全部导入本包内(勿轻易使用,当将多个包以.导入后,若存在同名接口,会存在歧义)。

go语言中init()初始化的时机早于main(),如果想在主程序开始之前加载一些配置文件,或数据库内容,或一些基本的环境变量的初始化,可以在init()函数中操作。
调用的包内函数名首字母大写时才能在包外被引用。
当导包时想用init函数但是不想调用该包内的接口,可以在导包时在包路径前加_,表明包导入但不使用。