Golang的switch中的fallthrough是跳到下一个代码段,不经过判断部分

示例代码:

package main

 

import "fmt"

 

func main() {

    switch a := 3; {

    case a >= 2:

        fmt.Println(">=2")

        fallthrough

    case a >= 3:

        fmt.Println(">=3")

        fallthrough

    case a >= 4:

        fmt.Println(">=4")

        fallthrough

    case a >= 5:

        fmt.Println(">=5")

        fallthrough

    default:

        fmt.Println("default")

    }

}

 

这段代码执行的结果是:

>=2

>=3

>=4

>=5

default


显然,fallthrough没有经过case条件的校验,就执行了下一个代码。
原文地址:https://www.cnblogs.com/ghj1976/p/3066630.html