登录
首页 >  Golang >  Go问答

Go 结构中的无名字段?

来源:Golang技术栈

时间:2023-04-17 21:19:43 247浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《Go 结构中的无名字段?》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到golang等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

package main

import "fmt"

type myType struct {
    string
}

func main() {
    obj := myType{"Hello World"}

    fmt.Println(obj)
}

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

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

正确答案

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

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

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

(这里string本身没有字段)

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

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

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

以上就是《Go 结构中的无名字段?》的详细内容,更多关于golang的资料请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>