3
我想通過方法名稱調用另一個包中的方法(使用反射包),但我不確定如何去做。按名稱在其他包中調用方法?
我試圖到目前爲止,
reflect.ValueOf(controller).MethodByName(action_name).Call()
(其中控制器是其它封裝)
任何想法?
我想通過方法名稱調用另一個包中的方法(使用反射包),但我不確定如何去做。按名稱在其他包中調用方法?
我試圖到目前爲止,
reflect.ValueOf(controller).MethodByName(action_name).Call()
(其中控制器是其它封裝)
任何想法?
您不能使用pkg/reflect
來做到這一點。爲此,包裹必須是一等公民,而他們不是。
你最好的賭注是存儲要在map[string]interface{}
訪問功能,並期待 在地圖的功能:
func Foo() { println("foo?") }
m := map[string]interface{}{
"foo": Foo
}
f := m["foo"].(func())
f()
我不認爲這是可能的。 https://groups.google.com/forum/#!topic/golang-nuts/56pdjuF0dXo – lukad