加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang结构继承不按预期工作?

发布时间:2020-12-16 19:22:35 所属栏目:大数据 来源:网络整理
导读:查看 this sandbox 声明从不同结构继承的结构时: type Base struct { a string b string}type Something struct { Base c string} 然后调用指定继承值的值的函数会产生编译错误: f(Something{ a: "letter a",c: "letter c",}) 错误消息是:unknown结构文字
查看 this sandbox

声明从不同结构继承的结构时:

type Base struct {
    a string
    b string
}

type Something struct {
    Base
    c string
}

然后调用指定继承值的值的函数会产生编译错误:

f(Something{
    a: "letter a",c: "letter c",})

错误消息是:unknown结构文字中的某个字段’a’.

这对我来说似乎很奇怪.这真的是预期的功能吗?

谢谢您的帮助!

Golang没有提供典型的继承概念.你在这里完成的是emedding.

它不给外部结构提供内部结构的字段,而是允许外部结构访问内部结构的字段.

为了创建外部结构,你需要给它的字段包括内部结构基础

在你的情况下:

Something{Base: Base{a: "letter a"},c: "letter c"}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读