結構體的型別:值型別
預設是深拷貝
結構體指標
packagemainimport"fmt"
typeperson2struct
funcmain()
淺拷貝:
指標:p2:=new(person)
p3:= &p1
*/p1 := person2
fmt.printf("%p\n"
, &p1) //0xc0420023e0
p2 := p1 //值型別,深拷貝
fmt.printf("%p\n"
,&p2)
p2.name="王二狗狗"
fmt.println(p1)
fmt.println(p2)
//定義乙個指標,淺拷貝
p3:= &p1 // 將p1的位址給p3
fmt.printf("%t\n"
, p3) //*main.person2
p3.name ="李小花"
fmt.println(p1)
fmt.println(p3)
fmt.println(*p3)
p4 := new(person2) // 指標
fmt.printf("%t\n"
,p4) //*main.person2
p4.name="rose"
p4.age = 30
fmt.println(*p4) //
fmt.printf("%p,%p\n"
, &p4, p4) //0xc042062020,0xc04203e4a0
p6:=p4 //
p6.name = "jack"
fmt.println(p4)
fmt.println(p6)
}
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...
Go基礎(複雜型別) 結構體
乙個結構體 struct 就是乙個欄位的集合。而 type 的含義跟其字面意思相符。下面來寫乙個簡單的例子 package main import fmt 乙個結構體就是乙個欄位的集合 type vertex struct func main 輸出結果 結構體欄位使用點號來訪問。package ma...