函數經常會返回多種錯誤,這對終端用戶來說可能會很有趣,但對程序而言,這使得情況變
得復雜。很多時候,程序必須根據錯誤類型,作出不同的響應。讓我們考慮這樣一個例子:
從文件中讀取n個字節。如果n等於文件的長度,讀取過程的任何錯誤都表示失敗。如果n小於
文件的長度,調用者會重復的讀取固定大小的數據直到文件結束。這會導致調用者必須分別
處理由文件結束引起的各種錯誤。基於這樣的原因,io包保證任何由文件結束引起的讀取失敗
都返回同一個錯誤——io.EOF,該錯誤在io包中定義:
package io import "errors" // EOF is the error returned by Read when no more input is available. var EOF = errors.New("EOF")