繁体   English   中英

SQL扫描/值接口问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM