Dalam Go, apabila mengisytiharkan pembolehubah dalam penyataan permulaan bagi gelung for, salah tanggapan biasa timbul apabila cuba menentukan jenis pembolehubah secara eksplisit. Walaupun sintaks membenarkan pengisytiharan pembolehubah pendek, dilambangkan dengan borang tugasan i := 0, ia melarang pengisytiharan jenis eksplisit menggunakan var i = 0.
Untuk menangani sekatan ini, seseorang mesti menggunakan pengisytiharan pembolehubah di luar untuk gelung, seperti yang dilihat dalam contoh:
var i int64 for i = 0; i < 10; i++ { // i is of type int64 here }
Batasan ini berpunca daripada spesifikasi bahasa, yang menyatakan bahawa permulaan penyata hanya boleh mengandungi pengisytiharan pembolehubah pendek menggunakan operator :=.
Walau bagaimanapun, adalah mungkin untuk memintas pengehadan ini dengan menggunakan pemutus jenis dalam penyataan permulaan:
for i := int64(0); i < 10; i++ { // i is of type int64 here }
Dalam keadaan ini , fungsi int64() menghantar literal 0 kepada jenis yang dikehendaki. Walaupun kaedah ini mungkin mencukupi untuk kes mudah, kaedah ini boleh membawa kepada tingkah laku yang tidak dijangka apabila menghantar ungkapan atau nilai kompleks. Oleh itu, adalah dinasihatkan untuk mengisytiharkan pembolehubah jenis tertentu di luar gelung for untuk mengekalkan kejelasan dan mengelakkan kemungkinan perangkap.
Atas ialah kandungan terperinci Bolehkah saya Mengisytiharkan Jenis Pembolehubah Secara Eksplisit dalam Permulaan Gelung Go's?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!