Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengakses Pembolehubah yang Diisytiharkan Di Dalam Pernyataan Go `if` Di Luarnya?

Bagaimanakah Saya Boleh Mengakses Pembolehubah yang Diisytiharkan Di Dalam Pernyataan Go `if` Di Luarnya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-29 17:31:10493semak imbas

How Can I Access Variables Declared Inside a Go `if` Statement Outside of It?

Skop Pembolehubah dalam Penyata Bersyarat

Dalam Go, pembolehubah yang diisytiharkan dalam skop pernyataan if hanya boleh dilihat dalam blok tersebut. Ini boleh menimbulkan cabaran apabila perlu menggunakan pembolehubah yang diisytiharkan dalam pernyataan bersyarat di luarnya.

Pertimbangkan kod berikut:

if len(array1) > len(array2) {
    new1 := make([]string, 0, len(array1))
}

// Error: new1 is not visible here
new2 := make([]string, 0, len(new1))

Dalam contoh ini, pembolehubah new1 diisytiharkan dalam pernyataan if dan hanya boleh digunakan dalam skop tersebut. Untuk menyelesaikan isu ini, new1 mesti diisytiharkan di luar pernyataan if dan dimulakan di dalamnya.

var new1 []string

if len(array1) > len(array2) {
    new1 = make([]string, 0, len(array1))
} else {
    new1 = make([]string, 0, len(array2))
}

new2 := make([]string, 0, len(new1))

Kini, new1 diisytiharkan di luar pernyataan if dan boleh diakses dalam kedua-dua blok if dan else. Ini membolehkan ia digunakan dalam kod seterusnya yang dihantar sebagai hujah untuk dibuat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah yang Diisytiharkan Di Dalam Pernyataan Go `if` Di Luarnya?. 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