= 表示赋值
:= 表示申明变量并赋值
var a int = 1
b := 1
以上是效果一样
:= 如果是在函数内赋值,那么作用于仅仅存在在函数内
var SourceOrm *gorm.DB
var err error
func init() {
database := conf.DS
//连接MYSQL, 获得DB类型实例,用于后面的数据库读写操作。
SourceOrm, err = gorm.Open(mysql.Open(database.Source), &gorm.Config{})
}
以上代码在外部调用SourceOrm不会报错,因为是全局变量
var SourceOrm *gorm.DB
func init() {
database := conf.DS
//连接MYSQL, 获得DB类型实例,用于后面的数据库读写操作。
SourceOrm, err := gorm.Open(mysql.Open(database.Source), &gorm.Config{})
}
以上代码SourceOrm会报错,因为使用了:=