package main
import "fmt"
func main() {
a := true
switch a {
case false:
fmt.Println("第一层")
fallthrough
case true:
fmt.Println("第二层")
fallthrough
case false:
fmt.Println("第三层")
fallthrough
case true:
fmt.Println("第四层")
case false:
fmt.Println("第五层")
fallthrough
default:
fmt.Println("default case")
}
}
输出结果:
go\src\go_code\chapter\file\test>go run test.go
第二层
第三层
第四层
实验二:
package main
import "fmt"
func main() {
a := false
switch a {
case false:
fmt.Println("第一层")
fallthrough
case true:
fmt.Println("第二层")
fallthrough
case false:
fmt.Println("第三层")
fallthrough
case true:
fmt.Println("第四层")
case false:
fmt.Println("第五层")
fallthrough
default:
fmt.Println("default case")
}
}
输出结果
\go\src\go_code\chapter\file\test>go run test.go
第一层
第二层
第三层
第四层
结果论:fallthrough会不管下一层的case条件直接进行执行。