我有几种方法,我打电话给一些情况下(如添加,删除等..)。然而,随着时间的推移,案件数量在不断增加,我的案例越来越多。所以我想我会创建一个方法图,如Go map of functions;这里函数的映射是微不足道的。但是,是否可以在Go中创建方法的地图?Go中的方法地图
当我们有一个方法:
func (f *Foo) Add(a string, b int) { }
的语法如下创建编译时错误:
actions := map[string]func(a, b){
"add": f.Add(a,b),
}
是否有可能创造地图中去的方法呢?
你想只存储函数还是函数和特定的接收器? – 2013-02-26 13:16:22
没有接收器的方法基本上是无用的,因此我想我绝对需要接收器。否则,我该如何调用f.add(a,b)? – 2013-02-26 13:19:52
那么,你可以在使用地图时动态地传递接收器,如http://stackoverflow.com/questions/8103617/call-a-struct-and-its-method-by-name-in-go – 2013-02-26 13:20:21