Go 语言中真的存在鸭子类型吗?
Go 中的鸭子类型与多态
提问:
有人声称 Go 语言具有鸭子类型,所谓鸭子类型是指函数只能接受符合所有鸭子特质的对象。是否如此?
回答:
Go 官方并未指出 Go 是鸭子类型语言。Go 中的 interface 也不等同于鸭子类型,而多态的概念更是与之不同。
Go 中的 interface 应根据其在 Go 语言中的定义来理解和使用。当用作函数参数时,interface 的作用是约束函数接受满足该接口要求的对象。
网上有关 Go 的文章中经常随意使用多态、鸭子类型等术语。建议阅读来自权威可靠来源的文章,多方面比较以判别其准确性。不要轻易采纳来源不明或可信度未知的文章内容。
以上就是Go 语言中真的存在鸭子类型吗?的详细内容,更多请关注其它相关文章!