Skop pembolehubah dalam kotak suis

WBOY
Lepaskan: 2024-02-09 09:00:21
ke hadapan
640 orang telah melayarinya

switch case 内变量的范围

editor php Yuzai akan memperkenalkan kepada anda skop pembolehubah dalam pernyataan kes suis. Dalam pernyataan kes suis, skop pembolehubah adalah terhad kepada blok kes semasa dan tidak akan menjejaskan blok kes lain. Ini bermakna walaupun nama pembolehubah yang sama digunakan dalam blok kes yang berbeza, mereka bebas antara satu sama lain dan tidak akan menyebabkan konflik. Ciri ini membolehkan kami menggunakan nama pembolehubah yang sama dalam blok kes yang berbeza tanpa perlu risau tentang ralat atau konflik. Oleh itu, apabila menulis pernyataan kes suis, kami boleh mengendalikan pembolehubah dengan lebih fleksibel dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Isi soalan

package main

import "fmt"

func main() {
    x := 10
    switch x {
    case 0:
        y := 'a'
        fmt.Printf("%c\n", y)
    case 1:
        // y = 'b' // this can't compile,
        y := 'b'
        fmt.Printf("%c\n", y)
    default:
        y := '-'
        fmt.Printf("%c\n", y)
    }
}
Salin selepas log masuk

Nampaknya setiap fail tempatan case 中的 y 都是包含 case tidak kelihatan kepada kes lain. Setahu saya:

  • {} 可以创建本地范围,但每个 case 没有 {}.
  • Jawa berbeza.

Saya menyemak dalam talian dan tidak mendapat definisi yang jelas. Saya tahu kita boleh mengisytiharkan pembolehubah skop suis dalam bahagian switchinitialization.

Soalan:

  1. Bolehkah anda mengesahkan bahawa di Golang, skop pembolehubah di dalam suis case adalah setempat kepada kes itu sendiri?
  2. Adakah ini reka bentuk khas? Setiap case都没有{} yang dinyatakan di atas tidak mempunyai {}.

Penyelesaian

Spesifikasi: Blok:

Seperti yang anda boleh lihat dalam spesifikasi: setiap klausa (cth. case)充当隐式块,无需显式使用 {}) bertindak sebagai blok tersirat tanpa penggunaan {} secara eksplisit.

Atas ialah kandungan terperinci Skop pembolehubah dalam kotak suis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!