首页 > 后端开发 > Golang > 你能用 Go 中的重载方法调用嵌入类型中的基类型方法吗?

你能用 Go 中的重载方法调用嵌入类型中的基类型方法吗?

Barbara Streisand
发布: 2024-11-15 10:39:03
原创
513 人浏览过

Can You Call Base Type Methods in Embedded Types with Overloaded Methods in Go?

在嵌入式类型重载中调用基类型方法

在 Go 中定义自定义类型时,可以将一个结构嵌入到另一个结构中,从而允许代码重用和类似继承的功能。但是,这可能会在重载方法时导致冲突。

在提供的示例中,Human 和 Employee 结构重载了 SayHi 方法。是否可以通过直接访问嵌入类型来调用Human方法?

是的,这确实是可能的。要访问父类型的嵌入结构,只需使用嵌入类型的名称作为父结构的成员即可。例如,要从 Employee 实例调用 Human 方法:

sam := Employee{Human{"Sam", 45, "111-888-XXXX"}, "Golang Inc"}
sam.Human.SayHi()
登录后复制

这将输出:

Hi, I am Sam you can call me on 111-888-XXXX
登录后复制

请注意,您还可以直接从嵌入的结构访问父类型的字段。例如,sam.age 将访问 Employee 结构中 Human 嵌入结构的年龄字段。

以上是你能用 Go 中的重载方法调用嵌入类型中的基类型方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板