如何通過 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 關注
- 215 瀏覽
添加回答
舉報
0/150
提交
取消