您现在的位置是:群英 > 开发技术 > 编程语言
Go中init函数的作用和用法是什么
Admin发表于 2022-09-29 17:49:46545 次浏览
在实际案例的操作过程中,我们可能会遇到“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中init函数的作用和用法是什么”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: Go中init函数
相关信息推荐
2022-05-11 17:57:29 
摘要:在html表格中,可以通过在table标签中使用一个或多个“th”标签添加表头,th标签用于定义HTML表格中的表头单元格;语法“<table><tr><th>表头信息</th><th>表头信息</th>..</tr></table>”。
2022-07-18 17:29:17 
摘要:php给json增加值的方法:1、使用json_decode()函数将json数据转为数组类型,语法“json_decode(json数据,TRUE)”;2、使用“$数组变量名['新键名']=新值;”语句在数组的末尾增加新值;3、使用json_encode()函数将增加值后的数组转回JSON类型即可,语法“json_encode(数组)”。
2022-05-30 17:09:47 
摘要:本文为大家介绍了java实现list的拷贝的方法,具有一定的参考价值,希望可以帮助到大家。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部