首頁 >後端開發 >Golang >如何避免 Go 類型切換分支中的型別斷言?

如何避免 Go 類型切換分支中的型別斷言?

Susan Sarandon
Susan Sarandon原創
2024-12-11 02:33:09874瀏覽

How Can I Avoid Type Assertions Within Go's Type Switch Branches?

避免型別切換分支中的型別斷言

Go 中的型別切換提供了一種處理不同型別資料的便捷方法。但是,在某些情況下,您可能希望避免在 case 分支中明確斷言變數的類型。

解決方案:

繞過類型斷言的需要,您可以將類型切換的結果直接分配給正在檢查的變數。這將根據匹配自動將變數分配給正確的類型:

switch question := question.(type) {
case interfaces.ComputedQuestion:
    handleComputedQuestion(question, symbols)
case interfaces.InputQuestion:
    handleInputQuestion(question, symbols)
}

在此範例中,將根據 switch 語句中的匹配將問題變數分配給適當的類型。因此,您可以將問題直接傳遞給handleCompulatedQuestion 或handleInputQuestion 函數,而無需明確類型斷言。

此技術可以簡化程式碼並提高可讀性。透過避免在類型切換的分支中進行類型斷言,您可以使程式碼更加簡潔和可維護。

以上是如何避免 Go 類型切換分支中的型別斷言?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn