我正在尝试在 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
提交
取消