首先:我是golang的新手,所以我可能不太了解。我的任务是使用“gorp”从一个数据库中编写一个 Go 数据提取器。问题在于一张具有自定义字段“TimeRange”的表。它被定义为:
type TimeRange struct {
From string
To string
}
可悲的是,当我尝试获取行时,我遇到了扫描仪错误,所以我意识到我需要一个自定义扫描仪。
// Scan - Implement the database/sql scanner interface
func (tr *TimeRange) Scan(value interface{}) error {
tr.From = "mis"
tr.To = "lala"
fmt.Printf("%v\n", *tr)
return nil
}
所以我希望在返回的字符串中看到固定的“{mis lala}”。为什么我得到:
var q2 []models.Dashboard
result, err := dbmap.Select(&q2, "select * from dashboard where id=3")
fmt.Printf("q2=%v\n", q2)
印刷:
p2=[{{<nil> Tomek b1f6f0ba-f618-00d6-6d24-8410a9219c95}}]
即:TimeRange、UserName 和 UUID
可能很重要:使用“gorp”进行数据库管理