Go語言中的錯誤處理與其他語言有些不同,通常使用 error
類型表示函數的結果,如果函數執行失敗,則傳回錯誤值。在Go語言中,沒有異常機制,所有的錯誤都必須回傳並處理。而在處理錯誤時,經常需要將錯誤訊息轉換成字串輸出或寫日誌。
轉換error
類型為字串有兩種方式,分別是使用error
介面的Error()
方法和使用 fmt
套件的Sprintf()
函數。
error
介面是一個規範,包含一個單一的方法Error() string
#,實作這個介面的類型表示一個錯誤狀態。我們可以使用這個方法來取得錯誤的字串表示。
範例程式碼:
package main import ( "errors" "fmt" ) func main() { err := errors.New("发生了一个错误") fmt.Println(err.Error()) }
程式輸出:
发生了一个错误
這樣就將 error
類型轉換成了字串型別。
除了使用error
介面的Error()
方法轉換錯誤,我們也可以使用 fmt
套件中的Sprintf()
函數將錯誤格式化成字串輸出。
範例程式碼:
package main import ( "errors" "fmt" ) func main() { err := errors.New("发生了一个错误") fmt.Println(fmt.Sprintf("%v", err)) }
程式輸出:
发生了一个错误
可以看到,使用fmt.Sprintf()
函數輸出錯誤與使用 error
介面的Error()
方法輸出錯誤的內容是一樣的。
除了輸出錯誤訊息,我們還可以將錯誤寫入日誌文件,這樣便於後期排查問題。
範例程式碼:
package main import ( "errors" "log" ) func main() { err := errors.New("发生了一个错误") log.Println("错误信息:", err) }
程式輸出:
2021/08/12 20:06:19 错误信息: 发生了一个错误
可以看到,使用log
套件的Println()
函數將錯誤訊息寫入日誌檔案。
在Go語言中,將error
類型轉換成字串有兩種方式,分別是使用error
介面的Error()
方法和使用fmt
套件的Sprintf()
函數。同時,我們也可以將錯誤訊息寫入日誌文件,方便排查問題。
以上是golang err 轉string的詳細內容。更多資訊請關注PHP中文網其他相關文章!