我正在使用Postgres 9.5并使用golang库lib / pq与数据库进行交互。我执行一个返回多行的选择查询,然后我使用for rows.Next()
进行迭代。无论如何,我在lat记录之前停止。如果它是最后一条记录,我想在控制台上打印其他东西。如下所示:
for rows.Next() {
var id string
err = rows.Scan(&id)
if err != nil {
log.Printf("Error in rows.Scan: %s\n", err)
}
if (row is not last) {
fmt.Println(id + "I am not last")
} else {
fmt.Println(id + "I am last")
}
}
答案 0 :(得分:3)
你可以在go中表达类似do while循环的内容。
notLast := rows.Next()
for notLast {
//... rows.Scan
notLast = rows.next()
if notLast {
fmt.Println(id + "I am not last")
} else {
fmt.Println(id + "I am last")
}
}