Rumah >pembangunan bahagian belakang >Golang >Mengapa Kod Pergi Saya Menunjukkan 'err diisytiharkan tetapi tidak digunakan' Walaupun Saya Menggunakan `err` dalam Gelung?
Memahami "err declared but not used" Compile Ralat dalam Go
Dalam Go, anda mungkin menghadapi ralat kompilasi yang menyatakan "err declared tetapi tidak digunakan." Ralat ini biasanya timbul apabila anda mengisytiharkan pembolehubah tanpa memberikan atau menggunakannya dalam kod anda. Walau bagaimanapun, dalam kes anda, anda telah menggunakan pembolehubah ralat dalam gelung for, tetapi pengkompil masih melaporkan ralat.
Bayangan dalam Pergi
Isunya terletak pada pembayang berubah-ubah. Dalam Go, pengisytiharan pembolehubah pendek (menggunakan operator :=) mencipta pembolehubah baharu dengan nama yang sama dengan pembolehubah sedia ada dalam skop yang sama. Ini berbeza daripada penetapan pembolehubah menggunakan operator =, yang mengubah suai nilai pembolehubah sedia ada.
Dalam kod anda, pembolehubah ralat yang diisytiharkan di luar gelung for dibayangi oleh pembolehubah ralat yang diisytiharkan dalam gelung. Ini bermakna pembolehubah ralat yang digunakan dalam gelung for ialah pembolehubah baharu yang bebas daripada pembolehubah yang diisytiharkan di luar gelung. Akibatnya, pengkompil mengesan bahawa pembolehubah ralat di luar gelung tidak pernah digunakan.
Menyelesaikan Ralat
Untuk mengelakkan isu pembayang ini, anda boleh menggunakan pendekatan berikut:
Dengan membuat pelarasan ini, anda boleh menghapuskan bayang-bayang dan memastikan bahawa pembolehubah err di luar gelung digunakan seperti yang dimaksudkan.
Atas ialah kandungan terperinci Mengapa Kod Pergi Saya Menunjukkan 'err diisytiharkan tetapi tidak digunakan' Walaupun Saya Menggunakan `err` dalam Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!