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")
}
答案 0 :(得分:3)
正如icza所指出的,Scanner
是sql程序包的一部分,主程序包没有Scanner
类型的概念。要使此代码正常工作,您需要做两件事:
import "database/sql"
添加到文件顶部b.(Scanner)
更改为b.(sql.Scanner)
。