golang未定义:扫描器

时间:2019-05-10 12:54:43

标签: go

Golang具有扫描仪界面,您也可以从此文件https://github.com/golang/go/blob/master/src/database/sql/convert.go中获取示例

LINE:377

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

但是当我尝试在代码中包含扫描仪界面时,即使我尝试导入go / scanner等,它也会给出错误“未定义的扫描仪”

例如我在做什么

var b interface{}

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

1 个答案:

答案 0 :(得分:3)

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

  1. import "database/sql"添加到文件顶部
  2. 根据需要告知将扫描仪类型定义在何处,将b.(Scanner)更改为b.(sql.Scanner)