如何使用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"},
}
答案 0 :(得分:0)
我认为您正在寻找内置函数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}
}
答案 1 :(得分:0)
这个问题有点难以理解,但请尝试按照此模式开始(为简洁省略了错误处理):
Range("M2").Formula = "=LOOKUP(2,1/('PSC Audit Report 3.0'!D2:AT2>0)/('PSC Audit Report 3.0'!D2:AT2<>F2)/('PSC Audit Report 3.0'!D2:AT2<>H2)/('PSC Audit Report 3.0'!D2:AT2<>J2)/('PSC Audit Report 3.0'!D2:AT2<>L2),'PSC Audit Report 3.0'!$D$1:$AT$1)"
Range("N2").Formula = "=LOOKUP(2,1/('PSC Audit Report 3.0'!D2:AT2>0)/('PSC Audit Report 3.0'!D2:AT2<>F2)/('PSC Audit Report 3.0'!D2:AT2<>H2)/('PSC Audit Report 3.0'!D2:AT2<>J2)/('PSC Audit Report 3.0'!D2:AT2<>L2),'PSC Audit Report 3.0'!D2:AT2)"
如果你能澄清这个问题,或许我们可以提供更好的答案