Rumah >pembangunan bahagian belakang >Golang >Mengapakah Saya Tidak Boleh Menggunakan `var` untuk Mengisytiharkan Pembolehubah dalam Permulaan Go\'s For Loop?

Mengapakah Saya Tidak Boleh Menggunakan `var` untuk Mengisytiharkan Pembolehubah dalam Permulaan Go\'s For Loop?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 19:47:10517semak imbas

Why Can't I Use `var` to Declare Variables in Go's For Loop Initialization?

Permulaan Pembolehubah dalam Penyataan Permulaan For Loop

Tertanya-tanya mengapa anda boleh mengisytiharkan pembolehubah dalam penyataan permulaan bagi gelung for menggunakan trengkas i : = 0 tetapi tidak dengan var i = 0?

Spesifikasi bahasa pengaturcaraan Go menetapkan bahawa pernyataan permulaan dalam gelung for boleh termasuk pengisytiharan pembolehubah pendek (i := 0). Ini adalah cara ringkas untuk mengisytiharkan pembolehubah dan menetapkan nilai awal dalam satu pernyataan. Walau bagaimanapun, pengisytiharan pembolehubah penuh menggunakan var tidak dibenarkan dalam konteks ini.

Sebab pilihan reka bentuk ini berkemungkinan mengekalkan sintaks bahasa yang mudah dan konsisten. Untuk gelung biasanya digunakan untuk lelaran ke atas jujukan, dan tatatanda pintasan membenarkan pemulaan pembolehubah yang cekap dan penetapan dalam gelung.

Walaupun terdapat sekatan untuk menggunakan var dalam penyataan permulaan, terdapat cara lain untuk mengisytiharkan pembolehubah dengan jenis tertentu dan gunakannya dalam gelung. Sebagai contoh, anda boleh mengisytiharkan pembolehubah di luar gelung:

var i int64 = 0
for ; i < 10; i++ {
  // ...
}

Sebagai alternatif, anda boleh menghantar pembolehubah semasa permulaan:

for i := int64(0); i < 10; i++ {
  // i is now of type int64
}

Atas ialah kandungan terperinci Mengapakah Saya Tidak Boleh Menggunakan `var` untuk Mengisytiharkan Pembolehubah dalam Permulaan Go's For Loop?. 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