將Interface{} 轉換為Int
從JSON 中提取值並嘗試將其轉換為整數時,可能會遇到錯誤表明interface{}不能直接轉換為int。要解決此問題,需要進行類型斷言。
在提供的程式碼範例中,以下行:
iAreaId := int(val)
會導致錯誤,因為 val 是一個 interface{},無法直接轉換至 int。相反,型別斷言是必要的:
iAreaId := val.(int)
此型別斷言強制將 val 的值強制轉換為 int。或者,您可以使用非恐慌版本:
iAreaId, ok := val.(int)
透過包含 ok 變量,您可以在繼續之前檢查斷言是否成功。
此外,需要注意的是只有當來源和目標的底層類型相容時(如 Go 語言規範所定義),才能執行明確轉換。
以上是如何在 Go 中安全地將 interface{} 轉換為 int?的詳細內容。更多資訊請關注PHP中文網其他相關文章!