如下代码:
其中保持两个地方不能改变:
- func (t *t1) Name() string { 必须是指针
- reflect.ValueOf(m) 必须是值
怎么才能拿到 方法呢?
package main
import (
"fmt"
"reflect"
)
type t1 struct{}
func (t *t1) Name() string {
return "tbl_t1"
}
func main() {
m := t1{}
rv := reflect.ValueOf(m)
fn := rv.MethodByName("Name")
fmt.Println(fn)
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…