一、前言

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