sqlx包有一个非常方便的MapScan函数,它以映射的形式返回一行(MapScan接口{}),但所有字符串列都以runes形式出现(如果我没有弄错的话)。有什么方法可以让它作为字符串返回吗?
sqlx - github.com/jmoiron/sqlx
发布于 2015-02-02 12:29:28
在go中处理sql时,我遇到了类似的问题。一些谷歌引导我找到go 司机文档。下面是从查询返回的值类型的内容。
值是驱动程序必须能够处理的值。它要么是零,要么是其中一个类型的实例:
字符串作为字节片返回(当您尝试将[]字节编码为json base64s it时)。我还没有在sqlx或sql/db框架内找到一种方法来返回字符串而不是[]字节片,但我确实想出了一种映射中切片的快速而脏的转换。有有限的类型检查,但这是一个良好的开端。
func convertStrings(in map[string]interface{}) {
for k, v := range in {
t := reflect.TypeOf(v)
if t != nil {
switch t.Kind() {
case reflect.Slice:
in[k] = fmt.Sprintf("%s", v)
default:
// do nothing
}
}
}
} https://stackoverflow.com/questions/27682515
复制相似问题