我是 Go 新手,几天前我刚刚开始学习它的并发性:-)。我有一个不同的库,它返回 time.Duration 类型,其中包含 Seconds,这是一个我想使用并存储在数据库中的 float64 精度值。以下是与我想要实现的目标相关的点点滴滴:type pResp struct { address string rtt time.Duration sent int recv int}stmt, err := db.Prepare("insert pings set domain = ?, packet_rtt = ?, packets_sent = ?, packets_recv = ?")res, err := stmt.Exec(r.address, r.rtt.Seconds, r.sent, r.recv)这是我得到的错误:2019/08/26 19:57:35 sql: converting argument $2 type: unsupported type func() float64, a funcProcess exiting with code: 0MySQL 中的列设置为 double,应该是 64 位...我不确定这里哪里出了问题。这是我正在使用的库的限制吗?谢谢。
1 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
看来您传递的是一流函数func() float64
而不是实际的 float64 原语。该函数的源代码看起来是r.rtt.Seconds
,应该作为 来调用r.rtt.Seconds()
。
- 1 回答
- 0 关注
- 73 浏览
添加回答
举报
0/150
提交
取消