switch语句

switch是一个条件语句,它是可以代替多个if else的常用方式

例子

package main
import "fmt" func main() {
a:=10 #定义一个变量a=10
switch a
{
case 1:
fmt.Println("")
case 2:
fmt.Println("")
case 10:
fmt.Println("") }
}

switch a 将 a 的值与每个case后面的值进行比较,符合条件的就执行相应的代码。注意:case不允许出现重复值

默认情况default

当其他情况都没匹配上时会执行default的代码。default不一定只能出现在switch语句的最后,他可以放在switch语句的任何地方

package main
import "fmt" func main() {
a:=11
switch a {
case 1:
fmt.Println("")
case 2:
fmt.Println("")
case 10:
fmt.Println("")
default:
fmt.Println("不知道")
}
}

多表达式判断

通过用逗号分隔,可以在一个case中包含多个表达式

package main
import "fmt" func main() {
a:=11
switch a {
case 1,4,5:
fmt.Println("")
case 2,8,9:
fmt.Println("")
case 10,11:
fmt.Println("")
default:
fmt.Println("不知道")
}
}
#结果
10

无表达式的switch

打印符合条件的相应代码

package main
import "fmt" func main() {
a:=11
switch { #无表达式a
case a>10:
fmt.Println("大于10")
case a<10:
fmt.Println("小于10")
default:
fmt.Println("")
}
}
#结果
大于10

Fallthrough语句

在Go中,每执行完一个case后,会从switch语句中跳出来,不再做后续case的判断和执行。使用Fallthrough语句可以在已经执行完成的case之后,把控制权转移到下一个case的执行代码中。

package main
import "fmt" func main() {
a:=10
switch a {
case 1:
fmt.Println("")
fmt.Println("xxxx")
case 2:
fmt.Println("")
case 10:
fmt.Println("")
//穿透,无条件执行下一个case的内容
fallthrough
case 11:
fmt.Println("")
fallthrough
case 12:
fmt.Println("")
}
}
#结果
10,11,12

最新文章

  1. AlloyRenderingEngine文本框组件
  2. 李洪强iOS经典面试题142-第三方框架及其管理
  3. px 与 dp, sp换算公式?
  4. J2EE 第二阶段项目(八)
  5. js encodeURI方法认识
  6. 第1章 shell编程概述
  7. Android真机调试的时候logcat中无法输出调试信息的解决办法
  8. WordPress FunCaptcha插件跨站脚本漏洞
  9. Hash Killer I II
  10. forward 和redirect的区别
  11. spark shuffle
  12. tesseract-ocr识别英文和中文图片文字以及扫描图片实例讲解
  13. Hyper-v虚拟机联网配置
  14. CCF CSP 201612-1 中间数
  15. Arch Linux 硬盘引导-联网安装
  16. Python基础-数据类型-转摘
  17. WCF寄宿IIS
  18. c# 虚拟路径转换为绝对路径
  19. eclipse安装activiti designer
  20. maven项目工程目录约定

热门文章

  1. 权限管理(chown、chgrp、umask)
  2. leetcode 一些算法题及答案
  3. 洛谷 P4071 [SDOI2016]排列计数 题解
  4. 验证和交叉验证(Validation &amp; Cross Validation)
  5. 2016级移动应用开发在线测试13-Location、Sensor & Network
  6. Python各种扩展名(py, pyc, pyw, pyo, pyd)区别
  7. GoCN每日新闻(2019-10-19)
  8. Sybase数据库连接配置
  9. ELK:使用docker搭建elk平台
  10. 使用docker 基于centos7制作mysql镜像