首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >去切换掉

去切换掉
EN

Stack Overflow用户
提问于 2017-09-26 05:11:46
回答 2查看 2.9K关注 0票数 2

我正在尝试理解switch/ trying关键字。在开关块中使用valid直通式语句意味着输入下一个块,即使表达式不匹配,但只有在已经匹配的情况下才有效,对吗?下面的代码似乎是这样工作的,但我只想确定一下。

代码语言:javascript
复制
package main

import "fmt"

func main() {
    integer := 5
    switch integer {
    case 4:
        fmt.Println("integer <= 4")
        fallthrough
    case 5:
        fmt.Println("integer <= 5")
        fallthrough
    case 6:
        fmt.Println("integer <= 6")
        fallthrough
    case 7:
        fmt.Println("integer <= 7")
        fallthrough
    case 8:
        fmt.Println("integer <= 8")
        fallthrough
    default:
        fmt.Println("default case")
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-26 05:19:40

是。case直通式语句将控制转移到表达式开关中的下一个case子句。在转移控制时,不考虑下一种情况上的表达式。

The 规范说明了这一点,这是关于谬误语句的。

“下拉”语句将控制转移到表达式"switch“语句中下一个case子句的第一个语句。它只能用作该子句中最后的非空语句。

这是关于表达式开关

在一个大小写或default子句中,最后一个非空语句可能是一个(可能被标记为)“直到”语句,以指示控制应该从这个子句的末尾流到下一个子句的第一个语句。否则,控制流将流到"switch“语句的末尾。除表达式开关的最后一个子句外,“last”语句可能显示为所有语句的最后一条语句。

票数 5
EN

Stack Overflow用户

发布于 2017-09-26 05:20:03

没错。fallthrough语句使它从case子句上的最后一条语句转到下一条跳过后面的case计算的第一条语句。来自等级库

在一个大小写或default子句中,最后一个非空语句可能是一个(可能被标记为)“直到”语句,以指示控制应该从这个子句的末尾流到下一个子句的第一个语句。否则,控制流将流到"switch“语句的末尾。除表达式开关的最后一个子句外,“last”语句可能显示为所有语句的最后一条语句。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46418242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档