避免型別切換分支中的型別斷言
Go 中的型別切換提供了一種處理不同型別資料的便捷方法。但是,在某些情況下,您可能希望避免在 case 分支中明確斷言變數的類型。
解決方案:
繞過類型斷言的需要,您可以將類型切換的結果直接分配給正在檢查的變數。這將根據匹配自動將變數分配給正確的類型:
switch question := question.(type) { case interfaces.ComputedQuestion: handleComputedQuestion(question, symbols) case interfaces.InputQuestion: handleInputQuestion(question, symbols) }
在此範例中,將根據 switch 語句中的匹配將問題變數分配給適當的類型。因此,您可以將問題直接傳遞給handleCompulatedQuestion 或handleInputQuestion 函數,而無需明確類型斷言。
此技術可以簡化程式碼並提高可讀性。透過避免在類型切換的分支中進行類型斷言,您可以使程式碼更加簡潔和可維護。
以上是如何避免 Go 類型切換分支中的型別斷言?的詳細內容。更多資訊請關注PHP中文網其他相關文章!