初级会员
  • 第 24700 位会员
  • bkzy-wangjp
  • 2018-11-04 11:41:56
  • Offline
  • 19 85

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 我也有个执行 _, err := o.Raw(sql).Exec()的语句(sql语句是个insert),累积一段时间后就会报Can't create more than max_prepared_stmt_count statements (current value: 16382),修改MySQL的max_prepared_stmt_count 为100000后也是治标不治本,过一段时间仍然报错。
  • 评论了主题 json串解析问题
    晕了,解析出来的结果就是对的
  • #4 @weiwg521 谢谢,问题已解决。
  • 谢谢楼上@jarlyyn和@moryaden的建议和意见。我的问题通过自己的方法已经解决了,我的方法比楼上的稍微简单一些,就是先建立一个`vals := make([]interface{}, len(cols))`,然后再建立一个一样的`valsp := make([]interface{}, len(cols))`,但是名称不一样,然后把第一个变量的各个地址放到第二个数组里面,具体见代码: cols, err := rows.Columns() //探测读取到的数据的列数 checkErr(err) vals := make([]interface{}, len(cols)) //建立接口 valsp := make([]interface{}, len(vals)) //建立接口指针的接口 //将接口转换为指针类型的接口 for i := range vals { valsp[i] = &vals[i] } //解析查询结果 for rows.Next() { if err := rows.Scan(valsp...); err == nil { //注意:此处用valsp for i := range vals { //注意:此处用vals if v, ok := vals[i].([]byte); ok { //注意:读取的数据是uint8类型的数组,需要转成byte类型的数组才好转换成其他 fmt.Print(string(v), " ") //输出各个列 } } fmt.Print("\n") //输出换行符 } else { checkErr(err) } }