Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menukar antara muka{} dengan Selamat kepada int dalam Go?

Bagaimana untuk Menukar antara muka{} dengan Selamat kepada int dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-12-24 17:16:16
asal
588 orang telah melayarinya

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

Menukar antara muka{} kepada int dalam Go

Apabila mengambil data daripada JSON dan cuba menghantarnya ke integer, anda mungkin menghadapi ralat yang menyatakan bahawa anda tidak boleh menukar antara muka{} kepada int. Ralat ini berlaku disebabkan oleh peraturan penegasan jenis Go.

Dalam kod anda, anda mempunyai baris berikut:

iAreaId := int(val)
Salin selepas log masuk

Barisan ini cuba menukar val, yang mempunyai antara muka jenis{ }, kepada int menggunakan jenis cast. Walau bagaimanapun, taip menghantar antara muka{} kepada int adalah tidak dibenarkan.

Untuk menyelesaikan isu ini, anda perlu menggunakan penegasan jenis sebaliknya:

iAreaId := val.(int)
Salin selepas log masuk

Penegasan jenis mengekstrak perkara yang mendasari nilai daripada antara muka{} jika ia mempunyai jenis yang diisytiharkan. Jika nilai tidak mempunyai jenis yang diisytiharkan, penegasan jenis akan panik.

Sebagai alternatif, anda boleh menggunakan versi penegasan jenis yang tidak panik menggunakan nilai pulangan kedua:

iAreaId, ok := val.(int)
Salin selepas log masuk

Pembolehubah ok akan menjadi benar jika penegasan jenis berjaya dan palsu jika ia tidak berjaya.

Dengan menggunakan penegasan jenis dengan betul, anda boleh berjaya menukar antara muka{} kepada int dalam Go.

Atas ialah kandungan terperinci Bagaimana untuk Menukar antara muka{} dengan Selamat kepada int dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan