go 学习之 结构体

结构体的类型可以是基本数据类型、数组或引用类型,为数组或引用类型时需要先make;

在创建一个结构体变量后,如果没有给字段赋值,都对应一个零值(默认值),布尔类型为false,数组为0,字符串为“”,数组的默认类型和它的元素类型有关,比如scores [3]int,则为[0,0,0],指针、切片、map的零值都为nil,即还没有分配空间

type Person struct {
        name string
        age int
}

func main() {
        //第一种
        var p1 Person
        p1.name = "caoxt"
        p1.age = 23

        //第二种
        fmt.Println(p1.name, p1.age)
        p2 := Person{"caoxt2", 24}
        fmt.Println(p2.name,p2.age)

        //第三种
        p3 := new(Person)
        p3.name = "caoxt3"
        p3.age = 25
        fmt.Println(p3.name, p3.age)

        //第四种
        p4 := &Person{"tom", 99}
        //p4.name = "caoxt4"
        //p4.age = 26
        fmt.Println(p4.name, p4.age)

}
~                

  

原文地址:https://www.cnblogs.com/Caoxt/p/14124557.html