我正在學習如何在 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 關注
- 112 瀏覽
添加回答
舉報
0/150
提交
取消