Go 语言中隐式接口实现
在 Go 语言中,结构体只需要实现接口所定义的所有方法,即可隐式地实现该接口。无需在结构体定义中明确指明接口实现。
案例分析
提供的 main1 函数并未涉及接口检查,而 main 函数则将 f 的类型定义为 Fruit 接口,从而会进行接口检查。
解释
Go 语言按需检查接口实现。这意味着仅在使用接口时,才会检查是否实现了该接口。因此,在 main1 函数中,不涉及接口使用,故未进行接口检查。
相反,main 函数中将 f 的类型声明为 Fruit 接口,表示该变量只能赋值为实现了 Fruit 接口的类型。这时,编译器会检查 Apple 结构体是否实现了 Fruit 接口。
结论
Apple 结构体实现了 Fruit 接口。main1 函数中不涉及接口检查,而 main 函数中涉及。
由此可见,是否实现接口依赖于接口的使用场景,而不是显式实现的声明。
以上就是Go 语言中如何按需检查接口实现?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2313231.html