我有自定义时间格式,这是一些自定义解组的结果:
type customTime struct {
time.Time
}
我已在此Scanner
上实施了Valuer
和customTime
界面,如下所示:
func (ct *customTime) Scan(value interface{}) error {
ct.Time = value.(time.Time)
return nil
}
func (ct *customTime) Value() (driver.Value, error) {
return ct.Time, nil
}
但是当我尝试插入时,它仍然是错误的:
sql:转换Exec参数$ 3类型:不支持类型main.customTime,一个结构
我错过了什么?
答案 0 :(得分:0)
找到解决方案,Scanner
和Valuer
应该在实际值上实现,而不是指向customTime
func (ct customTime) Scan(value interface{}) error {
ct.Time = value.(time.Time)
return nil
}
func (ct customTime) Value() (driver.Value, error) {
return ct.Time, nil
}