如何通过 inData.SourceId(类型为 String)设置 item.SourceId(类型为 sql.NullString)?红色方块的代码不知道怎么写我reflect.ValueOf(&foo).Elem().Field(0).SetInt(321)在Using reflect 中发现,如何设置结构字段的值?. 有类似的东西SetInt吗sql.NullString?type InDataType struct { Id string SourceId string } type ItemType struct { Id string SourceId sql.NullString }setField(item, inData, "SourceId")func setField(item interface{}, inData interface{}, fieldName string) { // t := reflect.TypeOf(inData) // fmt.Println(t) itemValue := reflect.ValueOf(item).Elem().FieldByName(fieldName) itemType := reflect.ValueOf(item).Elem().FieldByName(fieldName).Type().String() fmt.Println(itemType, ",", itemValue) inDataValue := reflect.ValueOf(inData).Elem().FieldByName(fieldName) inDataType := reflect.ValueOf(inData).Elem().FieldByName(fieldName).Type().String() fmt.Println(inDataType, ",", inDataValue) if itemType == "sql.NullString" { // itemValue = sql.NullString{String: inDataValue.Value().String(), Valid: inDataValue.String() != ""} }}
1 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
if itemType == "sql.NullString" { itemValue.Set(reflect.ValueOf(sql.NullString{String: inDataValue.String(), Valid: inDataValue.String() != ""})) }
- 1 回答
- 0 关注
- 185 浏览
添加回答
举报
0/150
提交
取消