简化您的代码:
for r := Request{}; r.err == nil; r.id++ { r.line, r.err = input.ReadSlice(0x0a) channel <- r}给出编译时错误:
预期的布尔值或范围表达式,找到简单的语句(缺少复合文字周围的括号?)(以及另外1个错误)
该构造难以解析。
'{'不管是复合文字的一部分还是for语句本身(
for
块)的开头括号,开头括号都不是显而易见的。
您可以通过在组合文字周围使用括号来使其变得明显(如错误所示):
for r := (Request{}); r.err == nil; r.id++ { r.line, r.err = input.ReadSlice(0x0a) channel <- r}


