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"} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |