为了账号安全,请及时绑定邮箱和手机立即绑定

Go 结构体中的无名字段?

Go 结构体中的无名字段?

Go
喵喵时光机 2021-09-10 21:42:48
package mainimport "fmt"type myType struct {    string}func main() {    obj := myType{"Hello World"}    fmt.Println(obj)}结构中无名字段的目的是什么?是否可以像使用命名字段一样访问这些字段?
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

请参阅“在 Go 中嵌入”:您在结构中嵌入了一个匿名字段:这通常与嵌入的结构一起使用,而不是像string. 该类型没有要公开的“提升字段”。

f结构体中匿名字段的字段或方法如果是表示该字段或方法的合法选择器,x则称为提升x.ff

提升字段的作用类似于结构的普通字段,只是它们不能用作结构的复合文字中的字段名称。

(这里string本身没有字段)

请参阅“嵌入何时使用指针”中的类型嵌入示例。

是否可以像使用命名字段一样访问这些字段?

Afmt.Println(obj.string)将返回Hello World而不是{Hello World}


查看完整回答
反对 回复 2021-09-10
  • 2 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信