Утверждение "fallthrough" передает управление первому утверждению следующего пункта case в выражении "switch" утверждения. Он может использоваться только в качестве последнего непустого утверждения в таком пункте.
FallthroughStmt = "fallthrough" .
"fallthrough" утверждение запрещено в переключателе типов (type switch).
Пример программы с утверждением fallthrough:
package main
import "fmt"
func test(value int) {
switch value {
case 1:
// Для 1, обрабатываем как 1
// и проваливаемся (fallthrough) к 0.
fmt.Println("Один")
fallthrough
case 0:
// Для 0, просто печатаем ноль.
fmt.Println("Ноль")
break
}
}
func main() {
fmt.Println(0)
test(0)
fmt.Println(1)
test(1)
}
Вывод:
0
Ноль
1
Один
Ноль
Читайте также:
- Спецификация Go: switch утверждения (switch statements), переключатели выражений (expression switch)
- Спецификация Go: переключатель типов (type switch)
- Эффективный Go: оператор switch
Комментариев нет:
Отправить комментарий