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

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

Susan Sarandon
發布: 2024-12-11 02:33:09
原創
875 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板