golang吧 关注:6,159贴子:14,232
  • 1回复贴,共1

为什么我写的反射无法获取结构体内的方法呢

只看楼主收藏回复

大佬看看我写的代码

package main
import (
"fmt"
"reflect"
)
type Student struct {
Name string `json:"name"`
Age int `json:"age"`
Content string
}
func (s Student) hellogo(){
fmt.Println(s.Name)
}
func (s Student) helloago(){
fmt.Println(s.Name)
}
func get(b interface{}){
val:=reflect.ValueOf(b)
num:=val.NumField()
fmt.Println(num)
typ:=reflect.TypeOf(b)
for i:=0;i<num;i++{
tagval:=typ.Field(i)
if tagval.Tag.Get("json")!=""{
fmt.Println(tagval.Tag.Get("json"))
}
}
numofmethod:=val.NumMethod() // 无法获取该结构体的方法 help---------------------------------
fmt.Println(numofmethod)
}
func main(){
var Students Student
get(Students)
}


IP属地:山东1楼2020-02-06 17:29回复
    大小写


    IP属地:江苏2楼2020-02-14 18:18
    回复