一、前言
golang
二、案例
1.结构体结构及错误
type Test struct {
Test1 int64 `gorm:"column:test1" json:"test1"`
Test2 string `gorm:"column:test2" json:"test2"
}
var test []*Test
//这种方式是失败的? 因为目前是空的,不能用类似于php的方法写死
test[0].Test1 = xxx
test[0].Test2 = xxxx
nil
2.给空结构体赋值的方式
(1)第一种方法
直接赋值 (表示这个是一个testStruct{}类型)
test1 :=testStruct{
Test1: xx,
Test2: xx,
}
(2) 第二种方法
test1 := &testStruct{}
test1.Test1 = int64(0)
(3)第三种方法
test1 :=new(testStruct)
test1.Test1 = int64(0)
(4)关于new和make初始化的区别
new: 适用于创建指针,一般创建基本类型,int等,返回的是指针
make:主要创建引用类型,比如切片,map。返回的是创建的类型本身的引用,修改的话会影响到本身,类似于php的&
make类似于[]int{} 来初始化。
nil
end