type basicInfo struct {
id int32
name string
}
type sgxk3 struct {
a *basicInfo
}
type sgxk4 struct {
basicInfo
}
sg2 := sgxk3{a: &basicInfo{
id: 0,
name: "1",
}}
sg4 := sgxk4{basicInfo{
id: 1,
name: "2",
}}
fmt.Println(unsafe.Sizeof(sg2))
fmt.Println(unsafe.Sizeof(sg4))
匿名变量内存是存了对应字段变量的内存,所以sg4是basicinfo 各个字段的和, 同非指针内存大小,可以直接调用对应方法字段
指针只存了指针变量的内存大小,需要先调到对应变量才能继续调用对应方法
LingKangSg的go学习日记6之匿名字段
于 2023-09-08 10:39:02 首次发布