我正在學(xué)習(xí)如何在 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() 的返回?我習(xí)慣只看到err! = nil { fmt.Println ("Error:", err) break }你能給我解釋一下嗎?
2 回答

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗 獲得超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 循環(huán)將在 err==nil 時繼續(xù)循環(huán)讀取行。
然后:
if err = writer.Write (...); err! = nil {
這是使用err在 for 循環(huán)中創(chuàng)建的相同內(nèi)容。Write如果返回錯誤,它將簡單地中斷循環(huán)。
- 2 回答
- 0 關(guān)注
- 108 瀏覽
添加回答
舉報
0/150
提交
取消