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 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失