dousunle5801 2015-01-02 15:32
浏览 62
已采纳

我可以将gorilla模式与sql.NullString一起使用吗?

I am using gorilla schema to populate a struct based on a user's form submission. My struct contains sql.NullString and I am currently getting the following error:

schema: converter not found for sql.NullString

How can I use sql.NullString in a struct that I want to populate with gorilla schema?

  • 写回答

1条回答 默认 最新

  • duanjian7343 2015-01-02 15:32
    关注

    I created a gist ( https://gist.github.com/carbocation/51b55297702c7d30d3ef ) that shows one way to approach this. You need to create a schema.Converter for each of the four types: sql.NullString, sql.NullBool, sql.NullInt64, and sql.NullFloat64.

    An example for sql.NullString:

    import "database/sql"
    import "reflect"
    
    func ConvertSQLNullString(value string) reflect.Value {
        v := sql.NullString{}
        if err := v.Scan(value); err != nil {
            return reflect.Value{}
        }
    
        return reflect.ValueOf(v)
    }
    

    Then register this with your *schema.Decoder (usually a package global, in this case named d):

    import "database/sql"
    
    nullString := sql.NullString{}
    d.RegisterConverter(nullString, ConvertSQLNullString)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵