我有以下内容,有效:
reflectItem := reflect.ValueOf(dataStruct)
subItem := reflectItem.FieldByName(subItemKey)
switch subItem.Interface().(type) {
case string:
subItemVal := subItem.Interface().(string)
searchData = bson.D{{"data." +
strings.ToLower(subItemKey), subItemVal}}
case int64:
subItemVal := subItem.Interface().(int64)
searchData = bson.D{{"data." +
strings.ToLower(subItemKey), subItemVal}}
}
问题是这看起来非常不简约。我非常想简单地获取类型,subItem而无需在按名称找到字段后简单地断言其自己的类型的 switch 语句。但是,我不确定如何支持它。想法?
繁花如伊
相关分类