Go語言最佳實踐 異常和錯誤

2022-02-10 12:43:15 字數 359 閱讀 6914

go語言將錯誤和異常兩者區分對待。

1、go語言中處理錯誤的慣用法是將錯誤以函式或者方法最後乙個返回值的形式將其返回,並總是在呼叫它的地方檢查返回的錯誤值。

2、對於「不可能發生的事情」稱為異常,可使用panic()函式向呼叫棧傳播異常。何時使用recover()捕捉異常,何時讓panic()繼續傳播呢?

2.1 自定義的包,最好不使用panic()。如果要使用,應該使用recover()捕捉異常並轉換為乙個錯誤值返回;

2.2 準備部署或發布程式時,應該使用recover()捕捉異常並轉換為乙個錯誤值返回並記錄;

2.3 開發階段可以使用panic()函式中斷程式的執行以強制發生錯誤,使得該錯誤不會被忽略因而能夠被盡快修復。

Go語言最佳實踐 通道和併發

何時關閉通道 第一,只有在後面要檢查通道是否關閉的時候才需要顯式地關閉通道 第二,應該由傳送端的goroutine關閉通道,而不是由接收端的goroutine來完成 第三,如果通道並不需要檢查是否被關閉,那麼不關閉這些通道並沒有什麼問題,因為通道非常輕量,因此它不會像開啟檔案不關閉那樣耗盡系統資源。...

Go語言最佳實踐 字串

1 串聯字串 go語言雖然支援 操作符來追加字串,但更好的方式是使用bytes.buffer,這種方式在節省記憶體和效率方面有更好的表現。如 var buffer bytes.buffer buffer.writestring this buffer.writestring is buffer.wr...

Go 語言錯誤與異常處理

介紹 go 語言中錯誤與異常,進一步深入 錯誤與異常的區別以及實際開發中合適的處理方式。帶堆疊的錯誤資訊在開發與 bug 追蹤中都十分重要,可以幫助程式設計師更快定位錯誤發生位置。它擁有比標準庫中錯誤處理更豐富的處理方式,可謂程式設計師除錯之牛刀。在異常處理中,關鍵字 defer 與 recover...