昨天介紹程式錯誤的類型,今天再繼續介紹錯誤處理 error 值
在 Go 語言中,一個 error 都算是一個 值 ,那既然他是一個值,所以在 Go 語言中也可以設定 error 的內容,也就是說你可以把 error 當作引數傳給函式、被函式傳回,當然 error 也可以被讀取或是被比較,因為他是一個值。
在 Go 語言中 error 值是 nil 時,代表沒有錯誤,但若是其他值時,代表有錯誤發生,當 error 值不等於 nil 時,我們應該要對他做些處理,常見的處理方式如下:
Go 有定義 error 的型別。我們可以透過把回傳的 error 變數與 nil 做比較,來判定操作是否成功:
package main
import "fmt"
func myFavorite() (name string, err error) {
name = "奇犽"
err = nil
return name, err
}
func main() {
value, err := myFavorite();
if err != nil {
fmt.Println("我的 error 不是 nil 值,我是:", value);
} else {
fmt.Println("我的 error 是 nil ");
}
}
我的 error 是 nil
上面我們透過 err 不等於 nil 時,執行一段程式碼,不知道大家會不會跟我有一樣的疑問,這樣看來感覺很麻煩誒,感覺我每次都要一直四處檢查錯誤,重複的 err != nil 要寫很多遍,但實際上,在錯誤處理這塊還有有更多的設計方式,讓我們可以更優雅的處理錯誤。
最後一天的鐵人賽就介紹到這邊,那以上 30 天的文章都是依照 完全自學! Go 語言 實戰聖經 的內容,加上我個人的解讀跟見解來學習,若大家對於 Go 有想更深入的了解,可以選擇本書,內有大量的範例跟練習題供大家參考學習,happy coding~