为了账号安全,请及时绑定邮箱和手机立即绑定

go中的反射问题

go中的反射问题

Go
拉莫斯之舞 2021-08-10 21:15:46
我正在尝试在 go 中使用反射。为什么这段代码没有列出方法?它列出了字段。这是问题吗?“值接口{}”我不确定如何将通用结构/类/类型传递给函数。通常我只会传递一个对象。(我对此完全陌生。我是 C# 程序员)package mainimport ("fmt""reflect")func main() {    var B TestType = TestType{TestString: "Hello", TestNumber: 3}    ListMethods(B)}func ListMethods(value interface{}) {    fooType := reflect.TypeOf(value)    for i := 0; i < fooType.NumMethod(); i++ {        method := fooType.Method(i)        fmt.Println("Method = " + method.Name)    }    for i := 0; i < fooType.NumField(); i++ {        field := fooType.Field(i)        fmt.Println("Field = " + field.Name)        fmt.Println(reflect.ValueOf(value).Field(i))    }}type TestType struct {    TestString string    TestNumber int}func (this *TestType) TestFunction() {    fmt.Println("Test")}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信