Golang中关键字fallthrough在switch语句里的用法


和C语言不同,在Go语言里的 switch 语句中,是不需要使用 break 来退出一个case的。也就是说,case执行完成后,是不会继续向下匹配的。

我们可以使用关键字 fallthrough 进行执行下一个case,且fallthrough不会判断下一个case的条件。话句话说,不论下一个case是否被匹配,都会被执行。

package main

import (
	"fmt"
)

func main() {
	p := fmt.Println

	a := 1
	switch a {
	case 0:
		p(0)
	case 1:
		p(1)
		fallthrough
	case 2:
		p(2) //因为在上一个case中使用了fallthrough关键字,这个case就算条件不匹配也会被执行
	case 3:
		p(3)
	}
}

程序回输出:1 2

如果 fallthrough 后没有case ,则会产生 cannot fallthrough final case in switch 的错误。


如需转载,请注明出处,本文地址:https://www.perfcode.com/p/1482.html