当前位置: 首页 > 面试题库 >

在Go中,break语句是否从switch / select中断?

谭兴学
2023-03-14
问题内容

我知道在每种情况下switch/ select语句都会自动中断。我想知道以下代码:

for {
    switch sometest() {
    case 0:
        dosomething()
    case 1:
        break
    default:
        dosomethingelse()
    }
}

是否break声明退出for循环或只是switch块?


问题答案:

Break语句,《 Go编程语言规范》。

“ break”语句终止最里面的“ for”,“ switch”或“ select”语句的执行。

BreakStmt = "break" [ Label ] .

如果有标签,则必须是封闭的“ for”,“ switch”或“
select”语句的标签,并且该标签的执行终止(§For语句,§Switch语句,§Select语句)。

L:
  for i < n {
      switch i {
      case 5:
          break L
      }
  }

因此,break示例中的switch语句终止该语句,即“最内层”语句。



 类似资料:
  • Go语言循环语句 Go 语言中 break 语句用于以下两方面: 用于循环语句中跳出循环,并开始执行循环之后的语句。 break在switch(开关语句)中在执行一条case后跳出语句的作用。 语法 break 语法格式如下: break; break 语句流程图如下: Go语言循环语句

  • 当条件判断分支太多的时候,我们会使用switch语句来优化逻辑。 package main import "fmt" import "time" func main() { // 基础的switch用法 i := 2 fmt.Print("write ", i, " as ") switch i { case 1: fmt.Println("

  • 主要内容:基本写法,跨越 case 的 fallthrough——兼容C语言的 case 设计Go语言的 switch 要比C语言的更加通用,表达式不需要为常量,甚至不需要为整数,case 按照从上到下的顺序进行求值,直到找到匹配的项,如果 switch 没有表达式,则对 true 进行匹配,因此,可以将 if else-if else 改写成一个 switch。 相对于C语言和 Java 等其它语言来说,Go语言中的 switch 结构使用上更加灵活,语法设计尽量以使用方便为主。 基本写

  • Go 语言条件语句 switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。。 switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加break 语法 Go 编程语言中 switch 语句的语法如下: switch var1 { case val1: ... case val2:

  • 本文向大家介绍如何在Switch命令中使用PowerShell Break语句?,包括了如何在Switch命令中使用PowerShell Break语句?的使用技巧和注意事项,需要的朋友参考一下 在“切换”命令中,当传递单个值并且如果它匹配条件时,则循环自动退出,但是当传递多个值并且如果值匹配第一个条件时并且如果要终止循环,则可以使用Break声明。下面给出一个例子。 示例 输出结果 您会在上面的

  • Go 语言条件语句 select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。 select随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。 语法 Go 编程语言中 select 语句的语法如下: select { case communication