Go语言之init函数
更新时间:2022年07月12日 16:01:07 作者:奋斗的大橙子
Go语言有一个特殊的函数init,先于main函数执行,实现包级别的一些初始化操作。这篇文章介绍了Go中的Init函数,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
init函数会在main函数执行之前进行执行、init用在设置包、初始化变量或者其他要在程序运行前优先完成的引导工作。
举例:在进行数据库注册驱动的时候。
这里有init函数
package postgres
package postgres import ( "database/sql" "database/sql/driver" "errors" ) // PostgresDriver provides our implementation for the // sql package. type PostgresDriver struct{} // Open provides a connection to the database. func (dr PostgresDriver) Open(string) (driver.Conn, error) { return nil, errors.New("Unimplemented") } var d *PostgresDriver // init is called prior to main. func init() { d = new(PostgresDriver) sql.Register("postgres", d) }
这里是main函数
// Sample program to show how to show you how to briefly work // with the sql package. package main import ( "database/sql" _ "github.com/goinaction/code/chapter3/dbdriver/postgres" ) // main is the entry point for the application. func main() { sql.Open("postgres", "mydb") }
可以看到这里main函数中使用看sql.Open 就是得益于上面的init函数
_ "github.com/goinaction/code/chapter3/dbdriver/postgres"
下划线加上包名的作用就是,执行这个包的init函数。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
相关文章
Go语言报错:'godoc' 不是内部或外部命令,也不是可运行的程序(godoc无法使用处理)解决
这篇文章主要介绍了Go语言报错:'godoc' 不是内部或外部命令,也不是可运行的程序(godoc无法使用处理)解决方法,详细描述了Go语言godoc命令无法使用的原因、解决方法与相关注意事项,需要的朋友可以参考下2024-01-01详解golang 定时任务time.Sleep和time.Tick实现结果比较
本文主要介绍了golang 定时任务time.Sleep和time.Tick实现结果比较,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-02-02golang中判断请求是http还是https获取当前访问地址
这篇文章主要为大家介绍了golang中判断请求是http还是https获取当前访问地址示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-10
最新评论