Go 结构体中的无名字段?

package main


import "fmt"


type myType struct {

    string

}


func main() {

    obj := myType{"Hello World"}


    fmt.Println(obj)

}

结构中无名字段的目的是什么?


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


喵喵时光机
浏览 187回答 2
2回答

慕桂英4014372

请参阅“在 Go 中嵌入”:您在结构中嵌入了一个匿名字段:这通常与嵌入的结构一起使用,而不是像string. 该类型没有要公开的“提升字段”。f结构体中匿名字段的字段或方法如果是表示该字段或方法的合法选择器,x则称为提升。x.ff提升字段的作用类似于结构的普通字段,只是它们不能用作结构的复合文字中的字段名称。(这里string本身没有字段)请参阅“嵌入何时使用指针”中的类型嵌入示例。是否可以像使用命名字段一样访问这些字段?Afmt.Println(obj.string)将返回Hello World而不是{Hello World}。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go