我有以下Go代码(play.golang.org):packagemainimport("reflect""fmt")typeUserstruct{namestringemailstring}funcmain(){uS:=User{}uSt:=reflect.TypeOf(uS)fmt.Println(uSt)fmt.Println(uSt.NumField())//fmt.Println(uS.NumField())//thisdoesn'twork,why?}我只是好奇这里。为什么我们需要在调用NumField()之前先获取结构的类型?为什么我们不能只在结构本身上调用它,即uS.N
我正在尝试构建一个查询结构,该结构将表示进出我们的Cassandra数据库的数据。问题是,我正在尝试将类型作为我在结构中的字段之一,以便稍后重建它。我觉得我真的很接近,但这给了我一些问题。尝试执行此操作时,我遇到了一个看起来非常讨厌的错误:2015/11/1715:42:22http:panicserving127.0.0.1:57962:reflect:NumFieldofnon-structtypegoroutine34[running]:net/http.(*conn).serve.func1(0xc820184000,0x7f36d7459b00,0xc820180008)/u
我正在尝试构建一个查询结构,该结构将表示进出我们的Cassandra数据库的数据。问题是,我正在尝试将类型作为我在结构中的字段之一,以便稍后重建它。我觉得我真的很接近,但这给了我一些问题。尝试执行此操作时,我遇到了一个看起来非常讨厌的错误:2015/11/1715:42:22http:panicserving127.0.0.1:57962:reflect:NumFieldofnon-structtypegoroutine34[running]:net/http.(*conn).serve.func1(0xc820184000,0x7f36d7459b00,0xc820180008)/u