golang 中的 "继承" -----组合
发布时间:2020-12-16 18:59:44 所属栏目:大数据 来源:网络整理
导读:golang 中一切 皆是类型 这个和 面向对象的 概念有点像 ,但是又不太像,和javascript倒是有些相似之处 那么如何实现 像 Java中的 继承呢,golang使用的是组合 请看代码 和 运行输出 说明一切 type father struct { name string sex int } type sun struct {
golang 中一切 皆是类型 这个和 面向对象的 概念有点像 ,但是又不太像,和javascript倒是有些相似之处 那么如何实现 像 Java中的 继承呢,golang使用的是组合 请看代码 和 运行输出 说明一切 type father struct {name string sex int } type sun struct { father name string } func main() { s:=sun{father:father{name:"father",sex:11},name:"sun"} fmt.Println(s) fmt.Println("name",s.name) fmt.Println("name",s.father.name) fmt.Println("sex",s.sex) fmt.Println("sex",s.father.sex) } ======================================= {{father 11} sun} =================================== father的sex属性就被组合进了sun ,成为了sun的属性,虽然我的 命名是 father和 sun但 二者不是继承 是组合的关系 当father的属性 和 sun的属性同名,被组合者 即母体 sun优先,想要 访问 father的name需要 s.father.name (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |