Go- switch-case 结构
版权声明: 本文为 InfoQ 作者【HelloBug】的原创文章。
原文链接:【http://xie.infoq.cn/article/ae64f9209d71653f03de010c1】。
本文遵守【CC BY-NC-ND】协议,转载请保留原文出处及本版权声明。
Go 学习笔记,学习内容《Go入门指南》
主要介绍以下内容:
基本使用
关键字 fallthrough
分支合并
使用赋值表达式和条件表达式
代码示例可以直接运行
package main
import (
"fmt"
)
func main() {
/*
switch case基本使用
case var:中的var不局限于常量和整型
*/
i := 100
switch i { // 左花括号必须和 switch 在同一行
case 0:
fmt.Println(0) // 不需使用break,仅执行匹配成功的case,剩下的case不会执行
case 1:
fmt.Println(1)
case 2: // 如果该case匹配成功,则不执行任何代码,不会执行case 3里面的代码块
case 3:
fmt.Println(3)
default: // 以上所有分支均不匹配,执行default分支,default分支可省略
fmt.Println("default")
}
/*
使用关键字fallthrough
*/
j := 0
switch j {
case 0:
fmt.Println(0) // 输出:0
fallthrough // 该关键字使得当前分支执行结束之后,会执行下一个分支的代码
case 1:
fmt.Println(1) // 输出:1
case 2:
fmt.Println(2) // 代码不会执行
}
/*
分支合并
*/
k := 87
switch k {
case 87, 88: // 当前分支可以匹配87和88两种情况
fmt.Println(87, 88)
case 89:
fmt.Println(89)
}
/*
switch 中使用赋值语句,注意使用分号
case 中使用条件表达式
*/
switch x := 50; {
case x < 50:
fmt.Println("x < 50")
case x == 50:
fmt.Println("x == 50")
case x > 50:
fmt.Println("x > 50")
}
}
版权声明: 本文为 InfoQ 作者【HelloBug】的原创文章。
原文链接:【http://xie.infoq.cn/article/ae64f9209d71653f03de010c1】。
本文遵守【CC BY-NC-ND】协议,转载请保留原文出处及本版权声明。
还未添加个人签名 2018.09.20 加入
还未添加个人简介
促进软件开发及相关领域知识与创新的传播
评论