如何在Golang中转储结构方法?

如何在Golang中转储结构方法?,第1张

如何在Golang中转储结构方法

您可以使用

reflect
包列出类型的方法。例如:

fooType := reflect.TypeOf(Foo{})for i := 0; i < fooType.NumMethod(); i++ {    method := fooType.Method(i)    fmt.Println(method.Name)}

您可以在此处进行 *** 作:http :
//play.golang.org/p/wNuwVJM6vr

考虑到这一点,如果您想检查类型是否实现了某个方法集,则可能会发现使用接口和类型断言更加容易。例如:

func implementsBar(v interface{}) bool {    type Barer interface {        Bar() string    }    _, ok := v.(Barer)    return ok}...fmt.Println("Foo implements the Bar method:", implementsBar(Foo{}))

或者,如果您只是想让某个特定类型具有方法的编译时断言等于什么,则可以在以下位置简单地包含以下内容:

var _ Barer = Foo{}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4931505.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存