在嵌入式类型重载中调用基类型方法
在 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中文网其他相关文章!