如何检查结构字段是否在golang中实现了某个接口?可以通过反射实现吗?这是一个例子,如何检查Test结构的字段是否实现了Example接口?
type Example interface {
String() string
}
type ExampleImpl struct {
}
func (e ExampleImpl) String() string {
return "Exemple"
}
type Test struct {
e ExampleImpl
}
在运行时,您可以像这样检查:
https://go.dev/play/p/YY1vBl-xvXq
简而言之,它是一个类型化的 nil,它检查接口的实现,即接口本身。报告中的详细信息