Один шаг провала в Go
Один провал захватывает только следующую ветку, а не все оставшиеся. После ее тела блок выбора завершается, если в ней нет нового перехода вниз по списку.
При значении 1 выполнятся две первые
ветки, третья уже не тронется:
n := 1
switch n {
case 1:
fmt.Println("a")
fallthrough
case 2:
fmt.Println("b")
case 3:
fmt.Println("c")
}
На экране "a" и "b", без "c".
Чтобы дойти до третьей ветки, во второй
нужен еще один такой же переход:
n := 1
switch n {
case 1:
fmt.Println("a")
fallthrough
case 2:
fmt.Println("b")
fallthrough
case 3:
fmt.Println("c")
}
Дан следующий код:
n := 1
switch n {
case 1:
fmt.Println("p")
fallthrough
case 2:
fmt.Println("q")
case 3:
fmt.Println("r")
}
Перечислите строки вывода по порядку.
Дано число:
n := 1
Выведите "low", "mid" и "high"
для веток 1, 2 и 3,
с переходом из первой ветки и еще одним
во второй.
Дан следующий код:
n := 2
switch n {
case 1:
fmt.Println("x")
fallthrough
case 2:
fmt.Println("y")
case 3:
fmt.Println("z")
}
Скажите, появится ли на экране "z"
без правок.