📜  在 Golang 中使用 For 循环中断的切换案例

📅  最后修改于: 2021-10-24 12:59:35             🧑  作者: Mango

switch 语句是一个多路分支语句。它提供了一种基于值将执行转移到代码的不同部分的有效方法,也称为表达式的情况。 switch 中可以有各种 switch-case 语句。每个案例后跟要比较的值。当打开的变量等于其对应的 case 时,该 case 后面的语句将执行,直到到达 break 语句。

当遇到break语句时,switch终止,控制流跳转到switch语句后的下一行,不会再执行相同case或loop下的其他后续命令。 switch 语句也可以在最后一个可选的默认情况下给出要执行的默认条件。默认情况可用于在所有情况都不为真时执行任务。让我们举个例子来理解:

代码:

// Golang Program to show the Switch 
// Case with Break in For Loop
package main 
import "fmt"

func main() {
 
    forLoop:for number := 1; number < 10; number++ {
        fmt.Printf("%d", number)
        switch {
        case number == 1:
            fmt.Println("-- One")
        case number == 2:
            fmt.Println("-- Two")
        case number == 3:
            fmt.Println("-- Three")
        case number == 4:
            fmt.Println("-- Four")
         case number == 5:
            fmt.Println("-- Five")
        case number == 6:
            fmt.Println("-- Six")
        case number > 2:
            fmt.Println("-- Greater than two")
            break forLoop
        case number == 8:
            fmt.Println("-- Eight")
        case number == 9:
            fmt.Println("-- Nine")
        default:
            fmt.Println("-- Number not identified")
        }
    }
}

输出:

1-- One
2-- Two
3-- Three
4-- Four
5-- Five
6-- Six
7-- Greater than two

说明:在 default case 之前的最后一个 case 中,我们使用了一个 break 语句,用于从forLoop 中断当数字在循环中从 1 到 9 进行迭代时,它们将使用从顶部开始的 switch 案例进行有条件的测试。例如,当 number = 1 时,它会打印 One 等等。只有在第一个 switch case 条件不满足后,程序才会检查下一个 switch case 条件。数字加 1,一旦循环遇到 7,第一个匹配的 switch case 条件就是“ number > 2 ”。

在这种情况下,我们已经应用了 break 语句,一旦 forLoop 遇到这个语句,它就会中断循环而不执行后面的命令。正如所见,数字 8 永远不会被打印出来,这是因为循环之前有一个 break 语句。我们看到,虽然数字仍然是9并且也有条件,但是它们没有被执行,因为循环在它之前遇到了 break 语句,因此它之后的语句无法执行。

注意: break语句很重要,如果不应用,编译器会抛出“ label forLoop defined and not used”的错误,即使数字在10后停止递增,程序也不会整体执行. 所以,记得谨慎使用break语句。