Go语言switch case语句


本站和网页 http://c.biancheng.net/view/48.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Go语言switch case语句
首页
教程
VIP会员
一对一答疑
辅导班
公众号
首页
C语言教程
C++教程
Python教程
Java教程
Linux入门
更多>>
目录
Go语言
Go语言简介
Go语言基本语法
Go语言容器
4 流程控制 4.1 Go语言分支结构4.2 Go语言循环结构4.3 输出九九乘法表4.4 Go语言键值循环4.5 Go语言switch语句4.6 Go语言goto语句4.7 Go语言break(跳出循环)4.8 Go语言continue4.9 示例:聊天机器人4.10 示例:词频统计4.11 示例:缩进排序4.12 示例:二分查找算法4.13 示例:冒泡排序4.14 Go语言分布式id生成器
Go语言函数
Go语言结构体
Go语言接口
Go语言包(package)
Go语言并发
10
Go语言反射
11
Go语言文件处理
12
Go语言编译与工具
首页 > Go语言 > 流程控制
Go语言switch case语句
Go语言的 switch 要比C语言的更加通用,表达式不需要为常量,甚至不需要为整数,case 按照从上到下的顺序进行求值,直到找到匹配的项,如果 switch 没有表达式,则对 true 进行匹配,因此,可以将 if else-if else 改写成一个 switch。
相对于C语言和 Java 等其它语言来说,Go语言中的 switch 结构使用上更加灵活,语法设计尽量以使用方便为主。
基本写法
Go语言改进了 switch 的语法设计,case 与 case 之间是独立的代码块,不需要通过 break 语句跳出当前 case 代码块以避免执行到下一行,示例代码如下:
var a = "hello"
switch a {
case "hello":
fmt.Println(1)
case "world":
fmt.Println(2)
default:
fmt.Println(0)
代码输出如下:
上面例子中,每一个 case 均是字符串格式,且使用了 default 分支,Go语言规定每个 switch 只能有一个 default 分支。
1) 一分支多值
当出现多个 case 要放在一起的时候,可以写成下面这样:
var a = "mum"
switch a {
case "mum", "daddy":
fmt.Println("family")
不同的 case 表达式使用逗号分隔。
2) 分支表达式
case 后不仅仅只是常量,还可以和 if 一样添加表达式,代码如下:
var r int = 11
switch {
case r > 10 && r < 20:
fmt.Println(r)
注意,这种情况的 switch 后面不再需要跟判断变量。
跨越 case 的 fallthrough&mdash;&mdash;兼容C语言的 case 设计
在Go语言中 case 是一个独立的代码块,执行完毕后不会像C语言那样紧接着执行下一个 case,但是为了兼容一些移植代码,依然加入了 fallthrough 关键字来实现这一功能,代码如下:
var s = "hello"
switch {
case s == "hello":
fmt.Println("hello")
fallthrough
case s != "world":
fmt.Println("world")
代码输出如下:
hello
world
新编写的代码,不建议使用 fallthrough。
关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。本公众号由C语言中文网站长亲自运营,长期更新,坚持原创。
微信扫码关注公众号
优秀文章
C++ stack,STL stack详解
C++ queue(STL queue)用法详解
C++ unordered_map初始化详解
Linux awk命令的高级玩法
JS scrollTo()方法:设置滚动条位置
gcc指令一次处理多个文件
从Nexus下载构件
Redis SPOP命令
Spring JdbcTemplate(使用详解)
Spring MVC国际化
精美而实用的网站,分享优质编程教程,帮助有志青年。千锤百炼,只为大作;精益求精,处处斟酌;这种教程,看一眼就倾心。
关于网站 |
关于站长 |
如何完成一部教程 |
公众号 |
联系我们 |
网站地图
Copyright ©2012-2022 biancheng.net, 冀ICP备2022013920号, 冀公网安备13110202001352号
加入微信交流群,一起学习不枯燥。内含一款搜索神器,免费下载全网书籍和视频。