Rumah >pembangunan bahagian belakang >Golang >Mengapa Kod My Go Menunjukkan Ralat \'diisytiharkan dan tidak digunakan\' dan Bagaimana Saya Boleh Membetulkan Isu Membayangkan?
Memahami ""diisytiharkan dan tidak digunakan" Ralat: Membayangkan dan Skop dalam Go
Mesej ralat "diisytiharkan dan tidak digunakan" dalam Go sering berlaku apabila pembolehubah diisytiharkan tetapi tidak digunakan dalam kod Ini boleh berlaku disebabkan oleh salah faham yang mengelilingi tugasan := dan = operator.
Dalam contoh yang disediakan, ralat menunjukkan kepada pembolehubah z dalam gelung untuk:
func Sqrt(x float64) float64 { z := float64(x) for i := 0; i < 10; i++ { z := z - (z*z - x) / (2 * z) } return z }
Operator :=, yang digunakan dalam gelung untuk, mengisytiharkan yang baharu pembolehubah bernama z yang membayangi z luar Ini bermakna pembolehubah z gelung adalah berbeza daripada yang diisytiharkan di luarnya. Akibatnya, pembolehubah z gelung diisytiharkan tetapi tidak digunakan, mencetuskan ralat.
Untuk menyelesaikan isu ini, kita harus menggantikan := dengan operator tugasan mudah = dalam gelung untuk:
func Sqrt(x float64) float64 { z := x for i := 0; i < 10; i++ { z = z - (z*z - x) / (2 * z) } return z }
Sekarang, kedua-dua kejadian z merujuk kepada pembolehubah yang sama, menghapuskan isu pembayang dan membenarkan kod untuk disusun dengan jayanya.
Atas ialah kandungan terperinci Mengapa Kod My Go Menunjukkan Ralat \'diisytiharkan dan tidak digunakan\' dan Bagaimana Saya Boleh Membetulkan Isu Membayangkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!