Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengisytiharkan dan Menggunakan Pembolehubah Dengan Betul Dalam Pernyataan `jika` Bersyarat Go?
Skop Pembolehubah Dalam Pernyataan Bersyarat dalam Go
Apabila menavigasi nuansa skop pembolehubah dalam Go, terutamanya dalam pernyataan if bersyarat, ia boleh membingungkan untuk menghadapi ketidakupayaan untuk menentukan pembolehubah di dalam pernyataan semasa menggunakannya seterusnya.
Pertimbangkan kes berikut:
if len(array1) > len(array2) { new1 := make([]string, 0, len(array1)) // Use new1... } else { new1 := make([]string, 0, len(array2)) // Use new1... }
Kod ini menimbulkan ralat kerana new1 tidak boleh diisytiharkan dalam blok if. Walau bagaimanapun, menciptanya sebelum blok menimbulkan masalah kerana saiznya bergantung pada hasil perbandingan.
Penyelesaian
Penyelesaian yang optimum ialah mengisytiharkan baharu1 sebelum if blok dan gunakan buat dalam pernyataan:
var new1 []string if len(array1) > len(array2) { new1 = make([]string, 0, len(array1)) // Use new1... } else { new1 = make([]string, 0, len(array2)) // Use new1... }
Ini membolehkan penciptaan new1 dengan saiz berdasarkan hasil bersyarat, sambil mengekalkan kebolehcapaiannya di luar blok if.
Atas ialah kandungan terperinci Bagaimana untuk Mengisytiharkan dan Menggunakan Pembolehubah Dengan Betul Dalam Pernyataan `jika` Bersyarat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!