我正在学习如何在 Go 中读写 CSV 文件和错误处理。答案是for line, err: = reader.Read (); err == nil; line, err = reader.Read () { if err = writer.Write ([] string {line [col_index [0]], line [col_index [1]], line [col_index [2]]}); err! = nil { fmt.Println ("Error:", err) break } writer.Flush ()}为什么错误等于 writer.Write() 的返回?我习惯只看到err! = nil { fmt.Println ("Error:", err) break }你能给我解释一下吗?
2 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
如果您查看第一行的组件:
for line, err: = reader.Read (); // Declare err and assign to the result of Read
err == nil; // Continue looping while err==nil
line, err = reader.Read () // Read again, and assign err
{
上面的 for 循环将在 err==nil 时继续循环读取行。
然后:
if err = writer.Write (...); err! = nil {
这是使用err在 for 循环中创建的相同内容。Write如果返回错误,它将简单地中断循环。
- 2 回答
- 0 关注
- 133 浏览
添加回答
举报
0/150
提交
取消
