Go 里面当遍历一个流式集合时,经常使用 Next() Next____() 这类 API。
比如 database/sql 中的 Rows 类,当遍历 SQL 查询结果时,使用 rows.Next() 切换到下一条结果集;再使用 rows.Scan() 读取数据:
rows, err := db.Query("select id, name from users where id = ?", 1)
for rows.Next() {
err := rows.Scan(&id, &name)
}Rows.NextResultSet() 也是类似的 API 设计。