为了账号安全,请及时绑定邮箱和手机立即绑定

在 Golang 中填充对象

在 Golang 中填充对象

Go
繁华开满天机 2022-01-17 17:03:28
如何用 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)

}

如果您能澄清问题,也许我们可以提供更好的答案


查看完整回答
反对 回复 2022-01-17
?
临摹微笑

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}

}


查看完整回答
反对 回复 2022-01-17
  • 2 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信