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

Bagaimana untuk Menghantar antara muka dengan Selamat{} ke int dalam Go?

Susan Sarandon
Susan Sarandonasal
2024-12-12 13:53:10682semak imbas

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

Menghantar Antara Muka{} ke Int

Apabila mengekstrak nilai daripada JSON dan cuba menghantarnya ke integer, anda mungkin menghadapi ralat menunjukkan bahawa antara muka{} tidak boleh ditukar terus kepada int. Untuk menyelesaikan masalah ini, penegasan jenis diperlukan.

Dalam contoh kod yang disediakan, baris:

iAreaId := int(val)

menyebabkan ralat kerana val ialah antara muka{}, yang tidak boleh dihantar terus kepada int. Sebaliknya, penegasan jenis diperlukan:

iAreaId := val.(int)

Penegasan jenis ini secara paksa menghantar nilai val kepada int. Sebagai alternatif, anda boleh menggunakan versi tidak panik:

iAreaId, ok := val.(int)

Dengan memasukkan pembolehubah ok, anda boleh menyemak sama ada penegasan itu berjaya sebelum meneruskan.

Selain itu, adalah penting untuk ambil perhatian bahawa penukaran eksplisit hanya boleh dilakukan apabila jenis asas sumber dan destinasi serasi, seperti yang ditakrifkan oleh spesifikasi bahasa Go.

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

Kenyataan:
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