Go 中接口实现的隐式机制:结构体何时被视为实现了接口?
Go 中接口实现解读
你在提问中提到了 Go 中接口实现的问题。首先,即使没有明确声明实现接口,也可以像 main1 中那样实现接口。这是因为 Go 语言支持隐式接口,只要结构体实现了接口中的所有方法,就视为实现了该接口。
像 main 中那样将变量 f 指定为接口类型 Fruit,则会进行接口检查,确认实现的结构体确实实现了该接口。因此:
- 结构体 Apple 实现了 Fruit 接口。
- main1 中未进行接口检查,因此无法确定是否实现了 Fruit 接口。
- main 中进行了接口检查,确认 f 所指向的结构体实现了 Fruit 接口。
参考资料:
- [Go 语言设计与实现 4.2 接口](https://go.dev/blog/interfaces)
以上就是Go 中接口实现的隐式机制:结构体何时被视为实现了接口?的详细内容,更多请关注其它相关文章!