在 Golang 中填充对象

如何用 for 循环填充 todos-Object?


type Row struct {

    Name      string

    Completed bool

    Due       time.Time

    Rcount    string

}

type Rows []Row

todos := Rows{

        Row{Name: "Write presentation"},

        Row{Name: "Host meetup"},

}


繁华开满天机
浏览 166回答 2
2回答

莫回无

这个问题有点难以理解,但尝试从遵循这种模式的东西开始(为简洁起见,省略了错误处理):rows, _ := db.Query(string, args...)var Rows []Rowfor rows.Next() {    var r Row    rows.Scan(&r.Name, &r.Completed, &r.Due, &r.Rcount)    Rows = append(Rows, r)}如果您能澄清问题,也许我们可以提供更好的答案

临摹微笑

我认为您正在寻找内置函数append请注意,它通常与赋值结合使用,因为它可能必须分配额外的内存。零值切片可以正常工作,无需调用 make。steps := []string{"write program", "???", "profit"}var rows []Rowfor _, 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}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go