在介面處理中避免型別斷言
在Go 中使用介面時,多次執行類型斷言可能會變得乏味,尤其是當該介面用在函數內的不同位置。這個問題提出了一個問題:是否有一種方法可以一次建立所需類型的變數並在整個函數中使用它。
Go 的靜態型別性質和泛型的缺乏使得無法直接實現所需的型別解決方案。然而,存在替代方法:
1。透過介面抽象:
設計一個接口,封裝您希望應用於不同結構的通用功能。在您的特定類型中實作此介面。將此介面類型的變數指派給資料將消除對類型斷言或切換的需要。
2。反射:
利用反射來存取由名稱標識的公共欄位。雖然這不提供編譯時保證,但它允許您動態地與欄位互動。例如,請參考這個問題:「斷言介面為其類型。」
注意: 實現介面方法更加高效,並且程式碼更加簡潔。儘管如此,在某些情況下,反思仍然是一個潛在的選擇。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3