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!