在Go語言中,錯誤處理通常使用返回值來表示錯誤。標準庫中的大多數函數都會返回一個錯誤值,通常是 error
類型。
下面是一個簡單的例子來說明如何進行錯誤處理:
package main
import (
"fmt"
)
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("can't divide by zero")
}
return a / b, nil
}
func main() {
result, err := divide(10, 2)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Result:", result)
}
result, err = divide(10, 0)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Result:", result)
}
}
在上面的例子中,divide
函數用來實現兩個整數相除的功能。如果除數為0,則返回一個錯誤,否則返回計算結果。在 main
函數中,我們調用 divide
函數并檢查返回的錯誤值,如果有錯誤則打印錯誤信息,否則打印計算結果。
除了使用 fmt.Errorf
函數創建自定義的錯誤信息之外,Go語言還提供了 errors.New
函數用來創建簡單的錯誤信息。
總的來說,Go語言的錯誤處理機制是非常簡單直觀的,通過返回錯誤值來表示函數執行過程中的錯誤,并在調用方進行處理。