登录
首页 >  Golang >  Go教程

Go语言之init函数

来源:脚本之家

时间:2023-01-08 15:10:48 368浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《Go语言之init函数》,聊聊函数、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函数》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表