最适合网络开发者的网站
Golang。初学者课程

尿素

Go switch 语句


switch 语句

使用 switch 语句来选择多个要执行的代码块之一。

switch Go 中的语句与 C、C++、Java、JavaScript 和 PHP 中的语句类似。不同之处在于它只运行匹配的案例,因此不需要break 陈述。


单例 switch 语法

句法

转变 表达 {
案件 X:
   // 代码块
案件 :
   // 代码块
案件 :
...
默认:
   // 代码块
}

工作原理如下:

  • 表达式被求值一次
  • 的价值 switch 表达式与每个值进行比较case
  • 如果匹配,则执行相关代码块
  • default 关键字是可选的。它指定在没有case 匹配

单例 switch 示例

下面的例子使用星期几数字来计算星期几的名称:

例子

软件包 main
导入(“fmt”)

函数main(){
天 := 4

切换日 {
情况1:
fmt.Println("星期一")
情况 2:
fmt.Println("星期二")
案例 3:
fmt.Println("星期三")
案例4:
fmt.Println("星期四")
案例5:
fmt.Println("星期五")
案例六:
fmt.Println("星期六")
案例7:
fmt.Println("星期日")
  }
}

结果:

Thursday
亲自尝试 »

default 关键字

default 关键字指定在没有大小写匹配时运行的一些代码:

例子

软件包 main
导入(“fmt”)

函数main(){
天 := 8

切换日 {
情况1:
fmt.Println("星期一")
情况 2:
fmt.Println("星期二")
案例 3:
fmt.Println("星期三")
案例4:
fmt.Println("星期四")
案例5:
fmt.Println("星期五")
案例六:
fmt.Println("星期六")
案例7:
fmt.Println("星期日")
默认:
fmt.Println("不是工作日")
  }
}

结果:

Not a weekday
亲自尝试 »

一切 case 值应该具有与switch 表达式。否则,编译器将引发错误:

例子

软件包 main
导入(“fmt”)

函数main(){
a := 3

切换 {
情况1:
fmt.Println("a 是 1")
案例“b”:
fmt.Println("a 是 b")
  }
}

结果:

./prog.go:11:2: cannot use "b" (type untyped string) as type int
亲自尝试 »

围棋练习

通过练习测试自己

锻炼:

插入缺失的部分以完成以下 switch 语句。

package main
import ("fmt")
func main() { var day = 2 switch { (1): fmt.Print("Saturday") (2): fmt.Print("Sunday") } }