開心檔之Go 語言環境安裝
Go 語言透過內建的錯誤介面提供了非常簡單的錯誤處理機制。
error型別是一個介面型別,這是它的定義:
type error interface { Error() string}
我們可以在編碼中透過實現 error 介面型別來生成錯誤資訊。
函式通常在最後的返回值中返回錯誤資訊。使用errors.New 可返回一個錯誤資訊:
func Sqrt(f float64) (float64, error) { if f < 0 { return 0, errors.New("math: square root of negative number") } // 實現}
在下面的例子中,我們在呼叫Sqrt的時候傳遞的一個負數,然後就得到了non-nil的error物件,將此物件與nil比較,結果為true,所以fmt.Println(fmt包在處理error時會呼叫Error方法)被呼叫,以輸出錯誤,請看下面呼叫的示例程式碼:
result, err:= Sqrt(-1) if err != nil { fmt.Println(err) }
package main
import (
"fmt"
)
// 定義一個 DivideError 結構
type DivideError struct {
dividee int
divider int
}
// 實現 `error` 介面
func (de *DivideError) Error() string {
strFormat := `
Cannot proceed, the divider is zero.
dividee: %d
divider: 0
`
return fmt.Sprintf(strFormat, de.dividee)
}
// 定義 `int` 型別除法運算的函式
func Divide(varDividee int, varDivider int) (result int, errorMsg string) {
if varDivider == 0 {
dData := DivideError{
dividee: varDividee,
divider: varDivider,
}
errorMsg = dData.Error()
return
} else {
return varDividee / varDivider, ""
}
}
func main() {
// 正常情況
if result, errorMsg := Divide(100, 10); errorMsg == "" {
fmt.Println("100/10 = ", result)
}
// 當除數為零的時候會返回錯誤資訊
if _, errorMsg := Divide(100, 0); errorMsg != "" {
fmt.Println("errorMsg is: ", errorMsg)
}
}
執行以上程式,輸出結果為:
100/10 = 10errorMsg is: Cannot proceed, the divider is zero. dividee: 100 divider: 0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026554/viewspace-2941562/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GO語言————2、GO語言環境安裝Go
- [Go語言整合開發環境之GoLand安裝使用]開發環境GoLand
- 開心檔之Go 語言常量Go
- Go語言開發環境搭建Go開發環境
- GO語言學習筆記之mac環境go語言配置Go筆記Mac
- go語言環境搭建Go
- Go語言VSCode開發環境配置GoVSCode開發環境
- Golang(go語言)開發環境配置Golang開發環境
- GO語言eclipse開發環境搭建GoEclipse開發環境
- Linux下搭建Go語言開發環境LinuxGo開發環境
- go語言grpc環境搭建GoRPC
- go語言安裝Go
- Mac GO 環境安裝MacGo
- Linux環境安裝GOLinuxGo
- 有Go語言實戰培訓班嗎?go語言開發環境搭建Go開發環境
- 開心檔之Go教程Go
- Linux下安裝Go環境LinuxGo
- Windows 下GO語言開發環境搭建+LiteID配置WindowsGo開發環境
- JetBrains GoLand 2022 GO語言整合開發工具環境AIGoLand
- GO語言整合開發工具環境:JetBrains GoLand 2022AIGoLand
- Go語言環境搭建(Windows版本)2020GoWindows
- macOS 下搭建 Go 語言開發環境-Go 學習記錄MacGo開發環境
- Mac系統Go開發環境的安裝MacGo開發環境
- windows下安裝go語言WindowsGo
- 小白學習Golang(二)Go語言開發環境搭建Golang開發環境
- 小白學習Golang(四)Go語言開發環境搭建Golang開發環境
- JetBrains GoLand 2022 for Mac(GO語言整合開發工具環境)AIGoLandMac
- GoLand 2022(GO語言整合開發工具環境)mac版GoLandMac
- 開心檔之Go 併發Go
- win10安裝Go環境!Win10Go
- golang 快速入門 [2.1]-go 語言開發環境配置-windowsGolang開發環境Windows
- Go語言快速安裝手冊Go
- Go 語言核心知識(一)--- 環境變數和原始碼檔案Go變數原始碼
- go語言安卓開發Go安卓
- 【保姆級教程】手把手教你進行Go語言環境安裝及相關VSCode配置GoVSCode
- GO語言————3、編輯器、整合開發環境與其它工具Go開發環境
- go語言學習-安裝和配置Go
- 開心檔之Go 錯誤處理Go