go語言基礎之結構體普通變數初始化

2022-07-05 05:42:08 字數 910 閱讀 6333

1、結構體

1.1、結構體型別

結構體是一種聚合的資料型別,它是由一系列具有相同型別或不同型別的資料構成的資料集合。每個資料稱為結構體的成員。

1.2、結構體普通變數初始化

示例:

package main //必須有個main包

import "fmt"

//定義乙個結構體型別

type student struct

func main()

fmt.println("s1 = ", s1)

//指定成員初始化,沒有初始化的成員,自動賦值為0

s2 := student

fmt.println("s2 = ", s2)

}

執行結果:

s1 =  

s2 =

1.3、結構體指標變數初始化

示例:

package main //必須有個main包

import "fmt"

//定義乙個結構體型別

type student struct

func main()

fmt.println("p1 = ", p1)

//指定成員初始化,沒有初始化的成員,自動賦值為0

p2 := &student

fmt.printf("p2 type is %t\n", p2) //main函式結構體

fmt.println("p2 = ", p2)

}

執行結果:

p1 = &

p2 type is *main.student

p2 = &

Go語言基礎之結構體反射

反射在結構體中的應用,才是最廣泛的!畢竟在go中,是用結構體代替物件的!所以最多的,最麻煩的,也是反射結構體,也是最靈活的!上次講的,只是在普通變數中的應用,相對來說,使用的場景不是太多。但是反射在結構體中的應用,基本會貫穿整個go語言基礎。示例 type student struct func m...

go語言基礎 匿名結構體

結構體和函式一樣,也可以使用匿名結構體 使用匿名結構體也要直接賦值給變數,不要沒法使用 匿名結構體和匿名字段 沒有名字的結構體 a struct func type a struct b a b.string,b.int 匿名字段可以理解為欄位名和字段型別一致 packagemain import ...

go語言基礎 結構體巢狀

go語言當中的聚合和繼承都是模擬出來的,子類是可以使用父類裡的字段或功能 結構體的巢狀 type a struct type b struct type c struct b b b.a.name,c c b.name,packagemain import fmt typeperson5struct...