我正在尝试使用 go sql 驱动程序从数据库表中读取数据,并将值转换为[]map[string]interface{}. 列名是映射的键,值是interface{}。我正在将所有列添加到一个数组中。我使用https://github.com/go-sql-driver/mysql/wiki/Examples 上的“RawBytes”代码示例作为开始的示例。
但是,在示例中 - 所有列值都转换string为如下所示,
// Fetch rows
for rows.Next() {
// get RawBytes from data
err = rows.Scan(scanArgs...)
if err != nil {
panic(err.Error()) // proper error handling instead of panic in your app
}
// Now do something with the data.
// Here we just print each column as a string.
var value string
for i, col := range values {
// Here we can check if the value is nil (NULL value)
if col == nil {
value = "NULL"
} else {
value = string(col) //ATTN : converted to string here
}
fmt.Println(columns[i], ": ", value)
}
fmt.Println("-----------------------------------")
}
有没有办法保留它,interface{}这样我就可以在使用列时进行必要的类型转换[]map[string]interface{}
慕哥9229398
相关分类