1. 程式人生 > 實用技巧 >go 學習之 結構體

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)

}
~