可自訂的錯誤處理:類型保留的解決方案
儘管Go 缺乏泛型,你仍然可以實現類型保留的錯誤處理。考慮以下 P() 函數:
<code class="go">func P(any interface{}, err error) (interface{}) { if err != nil { panic("error: " + err.Error()) } return any }</code>
但是,轉換為空介面 () 會導致類型資訊遺失。為了解決這個問題,請考慮使用 Go 生成。
基於產生的方法:
您可以為需要處理的每種類型產生 P() 的特定實作。以下是指導您的資源清單:
透過產生特定的P() 函數,您可以保留輸入資訊並簡化對lib 函數錯誤的處理。
以上是如何克服 Go 缺乏泛型的問題來實現類型保留的錯誤處理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!