Golang -- fallthrough

Golang 的 fallthrough

package main

import (
	"fmt"
)

func main() {
	a := 2
	switch a {
	case 1:
		fmt.Println("a=1")
	case 2:
		fmt.Println("a=2")
		fallthrough
	case 3:
		fmt.Println("a=3")
        case 4:
		fmt.Println("a=4")
	default:
		fmt.Println("default")
	}
}

运行结果:

a=2
a=3

以上示例相当于:

package main

import (
	"fmt"
)

func main() {
	a := 2
	switch a {
	case 1:
		fmt.Println("a=1")
                break
	case 2:
		fmt.Println("a=2")
		fallthrough
	case 3:
		fmt.Println("a=3")
                break
        case 4:
		fmt.Println("a=4")
                break
	default:
		fmt.Println("default")
                break
	}
}

golang 默认隐式地添加了 break 在每个 case command 最后。

posted @ 2020-06-09 18:48  leafs99  阅读(236)  评论(0编辑  收藏  举报