首頁 > 後端開發 > Golang > 如何在 Go 中安全地將 interface{} 轉換為 int?

如何在 Go 中安全地將 interface{} 轉換為 int?

Susan Sarandon
發布: 2024-12-12 13:53:10
原創
685 人瀏覽過

How to Safely Cast interface{} to int in Go?

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

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