我正在使用 gorilla 模式根据用户的表单提交来填充结构。我的结构包含 sql.NullString ,我当前收到以下错误:
架构:找不到 sql.NullString 转换器
如何在我想要用 gorilla 架构填充的结构中使用 sql.NullString
?
最佳答案
我创建了一个要点 ( 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)
关于sql - 我可以将 gorilla 模式与 sql.NullString 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27744493/