我有幾種方法,我打電話給一些情況下(如添加,刪除等..)。然而,隨着時間的推移,案件數量在不斷增加,我的案例越來越多。所以我想我會創建一個方法圖,如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