Golang Switch Case

Golang 的 switch 语句以 switch 关键字开头,后跟表达式,然后是 case。当处理许多条件时,使用 Else If 语句会很繁琐。在这种情况下,我们可以使用此 switch 语句并编写任意数量的 case。

在 switch 语句中,每个 case 表达式都与表达式进行比较,如果为 True,则执行 case 块。如果所有 case_expressions 都失败,则执行 default 代码块。其语法为:

switch switch_expression {
 case case_expression1: statement 1
 case case_expression2: statement 2
 ……
 case case_expressionN: statement N
 default: default statement
 }

与 else if 语句类似,GC 编译器会从上到下检查 case。如果任何 case 表达式的结果为 true,它将执行该块,而不会继续向下执行。

Golang Switch Case 示例

此程序允许用户输入 0 到 6 之间的任何正数,其中 0 表示星期日,6 表示星期六。接下来,我们使用 case 根据值打印输出。

package main

import "fmt"

func main() {
    fmt.Print("Please enter value from 0 to 6 = ")
    var num int
    fmt.Scanf("%d", &num)
    fmt.Println(num)

    switch num {
    case 0:
        fmt.Println("Sunday")
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    case 6:
        fmt.Println("Saturday")
    default:
        fmt.Println("Please enter valid Number")
    }
}
Switch Case 1

switch case 不需要操作数或值来与 case 表达式进行比较。因为在 case 中,我们可以编写一个语言表达式。这在 Go 编程中被称为无标签 case(tagless case)。

package main

import "fmt"

func main() {
    fmt.Print("Please enter any Number = ")
    var num int
    fmt.Scanf("%d", &num)
    fmt.Println(num)

    switch {
    case num > 0:
        fmt.Println("Positive Number")
    case num < 0:
        fmt.Println("Negative Number")
    case num == 0:
        fmt.Println("Zero")
    default:
        fmt.Println("Enter a Valid Number")
    }
}
Switch Case Example 2