package mainimport "fmt"type myType struct { string}func main() { obj := myType{"Hello World"} fmt.Println(obj)}結(jié)構(gòu)中無名字段的目的是什么?是否可以像使用命名字段一樣訪問這些字段?
2 回答

慕桂英4014372
TA貢獻1871條經(jīng)驗 獲得超13個贊
請參閱“在 Go 中嵌入”:您在結(jié)構(gòu)中嵌入了一個匿名字段:這通常與嵌入的結(jié)構(gòu)一起使用,而不是像string
. 該類型沒有要公開的“提升字段”。
f
結(jié)構(gòu)體中匿名字段的字段或方法如果是表示該字段或方法的合法選擇器,x
則稱為提升。x.f
f
提升字段的作用類似于結(jié)構(gòu)的普通字段,只是它們不能用作結(jié)構(gòu)的復(fù)合文字中的字段名稱。
(這里string
本身沒有字段)
請參閱“嵌入何時使用指針”中的類型嵌入示例。
是否可以像使用命名字段一樣訪問這些字段?
Afmt.Println(obj.string)
將返回Hello World
而不是{Hello World}
。
- 2 回答
- 0 關(guān)注
- 201 瀏覽
添加回答
舉報
0/150
提交
取消