Membayangkan Pembolehubah dalam Go: Memahami Ralat "err declared but not used"
Apabila pengaturcaraan dalam Go, adalah penting untuk memahami konsep pembayang boleh ubah untuk mengelakkan ralat pengkompil biasa. Artikel ini meneroka contoh khusus di mana pengkompil membenderakan pembolehubah seperti yang diisytiharkan tetapi tidak digunakan kerana membayangi.
Dalam contoh kod yang disediakan, ralat biasa yang dihadapi oleh pengaturcara Go pemula ialah: "err declared and not used. " Ralat ini merujuk kepada pembolehubah ralat di dalam gelung for. Setelah pemeriksaan lebih dekat, nampaknya ralat digunakan dalam keadaan gelung. Jadi, mengapa pengkompil menimbulkan ralat ini?
Isu timbul kerana ralat yang diisytiharkan dalam bayang gelung for membayangi pembolehubah ralat yang diisytiharkan di luar gelung. Bayangan berlaku apabila pembolehubah diisytiharkan semula dengan pengisytiharan pembolehubah pendek (:=), memberikannya skop setempat. Dalam kes ini, pembolehubah ralat di dalam gelung dimulakan sebagai pembolehubah baharu, menyembunyikan pembolehubah yang diisytiharkan di luar gelung.
Oleh itu, pembolehubah err yang digunakan dalam keadaan gelung for merujuk kepada pembolehubah berbayang dengan skop setempat , manakala ralat gelung luar kekal tidak digunakan. Ini membawa pengkompil untuk membenderakan ralat seperti yang diisytiharkan tetapi tidak digunakan dalam gelung luar.
Untuk menyelesaikan ralat ini, seseorang harus mengalih keluar pembayang dengan mengisytiharkan ralat di luar gelung for atau menggunakan nama pembolehubah yang berbeza untuk skop dalam , memastikan pembolehubah ralat gelung luar kekal dirujuk.
Atas ialah kandungan terperinci Mengapa Kod My Go Menunjukkan 'err declared but not used' Walaupun Menggunakan `err` dalam Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!