嘗試將介面值切片(例如[]Node)類型斷言為另一種類型(例如[]Symbol)時,您可能會遇到錯誤「無效類型斷言」。出現此錯誤的原因是切片是一種獨特的非介面類型。類型檢查依賴這樣的概念:變數的動態類型對於介面類型保持固定,但對於切片或其他非介面類型則不然。
因此,提供的程式碼中的語句 args.([]Symbol) 失敗因為args是[]Node類型,它不是介面類型。要正確鍵入斷言,您應該先將切片元素轉換為所需的類型,如下列程式碼所示:
此修改後的程式碼建立一個Symbol 值數組並迭代原始[]Node slice ,鍵入將每個元素斷言為Symbol。獲得所需的 []Symbol 切片後,您可以執行必要的操作,而不會遇到類型斷言錯誤。
以上是如何在 Go 中正確鍵入斷言介面值片段?的詳細內容。更多資訊請關注PHP中文網其他相關文章!