Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Pembolehubah yang Diisytiharkan Di Dalam Penyata `jika...else` dalam Go?

Bagaimana untuk Mengakses Pembolehubah yang Diisytiharkan Di Dalam Penyata `jika...else` dalam Go?

DDD
DDDasal
2024-11-14 09:33:02998semak imbas

How to Access Variables Declared Inside an `if...else` Statement in Go?

Skop Pembolehubah dalam Go

Dalam Go, pembolehubah mesti diisytiharkan dalam skop tertentu. Apabila anda mengisytiharkan pembolehubah di dalam pernyataan if...else, skopnya terhad kepada pernyataan itu. Ini bermakna pembolehubah tidak boleh digunakan di luar pernyataan.

Pertimbangkan kod berikut:

if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") {
    req, er := http.NewRequest(r.Method, r.Uri, b)
} else {
    req, er := http.NewRequest(r.Method, r.Uri, b)
}

Dalam kod ini, pembolehubah req dan er diisytiharkan di dalam if... kenyataan lain. Ini bermakna bahawa mereka hanya boleh digunakan dalam pernyataan itu. Di luar pernyataan, pembolehubah tidak ditentukan.

Untuk menyelesaikan isu ini, anda boleh mengisytiharkan pembolehubah di luar pernyataan if...else, seperti ditunjukkan di bawah:

var req *http.Request
var er error
if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") {
    req, er = http.NewRequest(r.Method, r.Uri, b)
} else {
    req, er = http.NewRequest(r.Method, r.Uri, b)
}

Sekarang , pembolehubah req dan er diisytiharkan di luar pernyataan if...else, supaya ia boleh digunakan sepanjang fungsi.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pembolehubah yang Diisytiharkan Di Dalam Penyata `jika...else` dalam Go?. 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