登录
首页 >  Golang >  Go问答

gorilla模式与sql.NullString可以一起用吗

来源:Golang技术栈

时间:2023-03-03 15:34:08 259浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《gorilla模式与sql.NullString可以一起用吗》就很适合你!本篇内容主要包括gorilla模式与sql.NullString可以一起用吗,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在使用 gorilla 模式根据用户的表单提交来填充结构。我的结构包含sql.NullString,我目前收到以下错误:

schema: converter not found for sql.NullString

如何sql.NullString在要使用 gorilla 模式填充的结构中使用?

正确答案

我创建了一个要点 (https://gist.github.com/carbocation/51b55297702c7d30d3ef),它显示了解决此问题的一种方法。您需要为schema.Converter以下四种类型中的每一种创建一个:sql.NullString、sql.NullBool、sql.NullInt64 和 sql.NullFloat64。

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)
}

然后将其注册到您的*schema.Decoder(通常是全局包,在本例中名为d):

import "database/sql"

nullString := sql.NullString{}
d.RegisterConverter(nullString, ConvertSQLNullString)

今天关于《gorilla模式与sql.NullString可以一起用吗》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于golang的内容请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表