如何用 for 循环填充 todos-Object?type Row struct { Name string Completed bool Due time.Time Rcount string}type Rows []Rowtodos := Rows{ Row{Name: "Write presentation"}, Row{Name: "Host meetup"},}
2 回答
莫回无
TA贡献1865条经验 获得超7个赞
这个问题有点难以理解,但尝试从遵循这种模式的东西开始(为简洁起见,省略了错误处理):
rows, _ := db.Query(string, args...)
var Rows []Row
for rows.Next() {
var r Row
rows.Scan(&r.Name, &r.Completed, &r.Due, &r.Rcount)
Rows = append(Rows, r)
}
如果您能澄清问题,也许我们可以提供更好的答案
临摹微笑
TA贡献1982条经验 获得超2个赞
我认为您正在寻找内置函数append
请注意,它通常与赋值结合使用,因为它可能必须分配额外的内存。零值切片可以正常工作,无需调用 make。
steps := []string{"write program", "???", "profit"}
var rows []Row
for _, tasks := range steps {
rows = append(rows, Row{Name: tasks})
}
如果您想遍历 sqlite3 查询结果,您的循环看起来会有所不同,但x = append(x, ...)模式将保持不变
如果您事先知道切片的大小,使用make 进行显式初始化会更有效。
var rows = make([]Row, len(steps))
for i, tasks := range steps {
rows[i] = Row{Name: tasks}
}
- 2 回答
- 0 关注
- 165 浏览
添加回答
举报
0/150
提交
取消