我正在尝试将结构的所有值提取到字符串切片中。
func structValues(item Item) []string {
values := []string{}
e := reflect.ValueOf(&item).Elem()
for i := 0; i < e.NumField(); i++ {
fieldValue := e.Field(i).Interface()
values = append(values, fmt.Sprintf("%#v", fieldValue))
}
return values
}
我想将此函数与任何结构一起使用,所以我想我可以将类型签名更改为,func structValues(item interface{})但后来我感到恐慌:
恐慌:反射:在接口值上调用反射.Value.NumField
工作示例:https ://repl.it/@fny/stackoverflow61719532
去
繁华开满天机
噜噜哒
随时随地看视频慕课网APP
相关分类