如何处理 gorp Select 中的空值

How to handle null values in gorp Select

我正在尝试从数据库中获取用户,如下所示,

var users []User
_, err := dbMap.Select(&users, "select id,username,acctstarttime,acctlastupdatedtime,acctstoptime from accounting order by id")

这里我使用的是gorp。当存在空值时,会抛出异常

 Select failed sql: Scan error on column index 3: unsupported driver -> Scan pair: <nil> -> *string 

我该如何解决这个问题?。在这里我使用 gorp 是因为很容易将输出映射到结构数组。

使任何 acctstarttime 映射到指向该类型的指针而不是该类型的值。

如果col为null,指针将为nil。

或者你可以使用 sql.NullXXX 类型,但我通常不喜欢这些类型,因为它们让其他一切变得奇怪。