從JSON 取得資料並嘗試將其轉換為整數時,可能會遇到錯誤,指出無法轉換int 的介面{}。此錯誤是由於 Go 的類型斷言規則而發生的。
在您的程式碼中,您有以下行:
iAreaId := int(val)
此行嘗試轉換具有類型 interface{ 的 val },使用類型轉換轉換為 int。但是,不允許將 interface{} 類型轉換為 int。
要解決此問題,您需要使用類型斷言:
iAreaId := val.(int)
類型斷言提取底層來自介面{}的值(如果它具有聲明的類型)。如果該值沒有聲明的類型,則類型斷言將發生恐慌。
或者,您可以使用第二個傳回值來使用類型斷言的非恐慌版本:
iAreaId, ok := val.(int)
如果類型斷言成功,則ok 變數將為true;如果類型斷言不成功,則ok 變數將為false。
透過正確使用型別斷言,您可以在 Go 中成功將 interface{} 轉換為 int。
以上是如何在Go中安全地將interface{}轉換為int?的詳細內容。更多資訊請關注PHP中文網其他相關文章!