首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使sqlx MapScan返回字符串

使sqlx MapScan返回字符串
EN

Stack Overflow用户
提问于 2014-12-29 01:58:08
回答 1查看 1.1K关注 0票数 0

sqlx包有一个非常方便的MapScan函数,它以映射的形式返回一行(MapScan接口{}),但所有字符串列都以runes形式出现(如果我没有弄错的话)。有什么方法可以让它作为字符串返回吗?

sqlx - github.com/jmoiron/sqlx

EN

回答 1

Stack Overflow用户

发布于 2015-02-02 12:29:28

在go中处理sql时,我遇到了类似的问题。一些谷歌引导我找到go 司机文档。下面是从查询返回的值类型的内容。

值是驱动程序必须能够处理的值。它要么是零,要么是其中一个类型的实例:

  • int64
  • float64
  • 布尔值
  • []字节
  • 字符串*到处都是,除了Rows.Next。
  • time.Time

字符串作为字节片返回(当您尝试将[]字节编码为json base64s it时)。我还没有在sqlx或sql/db框架内找到一种方法来返回字符串而不是[]字节片,但我确实想出了一种映射中切片的快速而脏的转换。有有限的类型检查,但这是一个良好的开端。

代码语言:javascript
复制
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
            }
        }
    }
} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27682515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档