[英]Go SQL Scan/Value Interface Issue
我试图为我的自定义结构添加一个扫描/值接口以进行自动转换。 我还可以在布尔类型上实现Value()和Scan(),但是当尝试在带有gocql.UUID字段的对象上实现它时,我无法使Scan()正常工作。
任何建议将不胜感激!
简短示例:
type Uid struct {
gocql.UUID
}
func (u *Uid) Scan(value interface{}) error {
...
if sv, err := driver.String.ConvertValue(value); err == nil {
if v, ok := sv.(string); ok { // <--- THIS DOESN'T WORK
parsedUUID, _ := gocql.ParseUUID(v)
...
}
}
完整代码: https : //play.golang.org/p/ndCZTJZ5rb
该值已经被构造为字节数组,因此解决方案最终是:
fmt.Sprintf("%s", sv)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.