`fallthrough` --强制执行下一次case

在 Go 语言的 switch 语句中,fallthrough 关键字是用来强制执行下一个 case的语句块。它并不是用来多次执行的,而是强制执行一次

解释:

  • 默认情况下,switch 语句在找到匹配的 case 后,会直接跳出 switch 结构,不会继续执行后面的 case 语句块。
  • 如果你在一个 case 中使用了 fallthrough,那么程序会强制继续执行下一个 case 语句块,而不管下一个 case 是否满足条件。这个执行只会发生一次。

示例:

package main

import "fmt"

func main() {
    i := 2
    switch i {
    case 1:
        fmt.Println("Case 1")
    case 2:
        fmt.Println("Case 2")
        fallthrough // 强制执行下面的 Case 3
    case 3:
        fmt.Println("Case 3")
    case 4:
        fmt.Println("Case 4")
    }
}

输出:

Case 2
Case 3

解释:

  • i 的值是 2,所以程序首先匹配到 case 2
  • case 2 中,遇到了 fallthrough,所以程序会继续执行 case 3 的语句,即输出 Case 3
  • 注意,fallthrough 只是强制执行一次下一个 case,并不会继续向后执行更多的 case

总结:

  • fallthrough 只会强制执行下一个 case 语句块一次,而不是多次。
  • 它跳过了正常的条件匹配机制,不管下一个 case 的条件是否满足,都会执行。
posted @   牛马chen  阅读(7)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示