面试真题

Go · 简单 · 大华股份

如何判断一个结构是否实现了某个接口?

简单 Go 🎤 大华股份
参考答案
结论:Go接口为隐式实现,判断结构体是否实现接口可用编译期断言或运行时类型断言。核心:1. 编译期检查:在包中声明 var _ MyInterface = (*MyStruct)(nil),若未实现则编译报错;2. 运行时断言:value, ok := interfaceVar.(MyInterface),ok为true即实现;3. 直接赋值校验:var i MyInterface = MyStruct{} 编译通过即实现。示例:type R interface{Read()}; type S struct{}; func (S) Read(){}; var _ R = S{} 无报错即满足。无需显式implements关键字。
题目整理自公开面经,答案由校招宝自研生成,仅供参考