【问题标题】:golang undefined: Scanner [duplicate]golang未定义:扫描仪[重复]
【发布时间】:2019-09-28 09:31:30
【问题描述】:

Golang 有扫描仪接口,你也可以从这个文件https://github.com/golang/go/blob/master/src/database/sql/convert.go 中举个例子

线路:377

if scanner, ok := dest.(Scanner); ok {
    return scanner.Scan(src)
}

但是当我尝试在我的代码中包含扫描仪接口时,它会给出错误 "Undefined Scanner" 即使我尝试导入 go/scanner 等仍然没有运气

举例说明我在做什么

var b interface{}

if scanner, ok := b.(Scanner); ok {
    fmt.Println("Scanner found")
}

【问题讨论】:

    标签: go


    【解决方案1】:

    正如 icza 所指出的,Scanner 是 sql 包的一部分,而主包没有 Scanner 类型的概念。要使此代码正常工作,您需要做两件事:

    1. 在文件顶部添加import "database/sql"
    2. b.(Scanner) 更改为 b.(sql.Scanner),因为您需要告诉 go 扫描器类型的定义位置。

    【讨论】:

    • 很好看的@icza,我已经更正了答案。
    猜你喜欢
    • 2015-09-06
    • 2017-06-22
    • 2015-05-02
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    相关资源
    最近更新 更多