case里面两个条件_Go语言条件语句之 switch 语句

点击上方蓝色 “铁匠学编程” 关注我,让我们一起学习!

    switch语句会根据传入条件不同,选择不同的分支执代码进行执行,他可以代替多个 if else 子句,Go 语言的分支语句和 PHP 的类似,Go 不需要显示的通过break 进行退出。

package mainimport "fmt"func main() {  score := 100  switch {  case score >= 90:      fmt.Println("Grade: A")  case score >= 80 && score < 90:      fmt.Println("Grade: B")  case score >= 70 && score < 80:      fmt.Println("Grade: C")  case score >= 60 && score < 70:      fmt.Println("Grade: D")  default:      fmt.Println("Grade: F")  }}

在上面的程序中,switch 会将 score 与每个 case 语句进行从上到下的比较,并执行与选项匹配的第一个代码块进行执行。

注意:此处的 score 不能放到 switch 后面,否则会报错,只有在进行分支判断时候才可以

在选项列表中,不允许出现重复相等的条件判断,如下:

package mainimport "fmt"func main() {  score := 100  switch {  case score = 90:      fmt.Println("Grade: A")  case score = 90:      ...  default:      fmt.Println("Grade: F")  }}

上面的程序编译时会报错。

在Go语言中,我们可以用逗号分隔不同的分支条件来合并分支语句,如  case 90,100 ,这里我们不能像PHP 那样通过多个相邻的 case 语句来合并相同的分支语句,如下:

package mainimport "fmt"func main() {  switch score := 99; score {  case score 90: // 此时被m默认为空语句直接退出  case score 95:    fmt.Println("grade A")  case score 80, 85:    fmt.Println("grade B")  default:    fmt.Println("grade F")  }}

上面的例子中我们都添加了默认情况,就是在所有的分支语句都不匹配的时候,将运行默认情况,他的位置并不一定在最后,任何地方都可以。

fallthrough

前面我们说到不能通过相邻的 case 语句来合并相同的分支语句,我们可以通过 逗号 分隔来进行执行多个条件来合并语句。Go 语言在执行完某一个条件分支之后会自动退出当前条件语句,如果还想继续执行后续的分支语句,可以通过 fallthrough 来继续执行后面的分支语句。如下:

package mainimport "fmt"func main() {  score := 60  switch score {  ...  case 60:      fallthrough  case 65:      fmt.Println("Grade: D")  ...  } }

此时,就相当于合并了 case 60 和case 65 两个分支语句。

Go语言 的 Reflect 会根据类型断言进行判断,后面分享 反射的时候再来说。

如果您看到了我的文章,欢迎留下意见和建议,指出不足。感谢!

9e640a24f775abd0a0c1d938bf5eadd5.png

加油!不仅自己~还有你~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

api 二次 开发 禅道_浅谈-软件开发流程

先直接放出我对软件开发的相关人员职责和流程&#xff1a;图一&#xff1a;软件开发的相关人员职责以下是截屏的开发流程泳道图&#xff1a;横轴是相关开发人员的工作模块&#xff1b;纵轴是从上至下开发时序周期。图二&#xff1a;软件开发的流程图从职责图和流程图对应到我们…

光遇安卓服务器维修,《光遇》渠道服更换手机解决办法

《光遇》游戏中渠道服更换手机怎么办&#xff1f;很多小伙伴更换手机后登陆游戏发现自己还需要重头开始&#xff0c;很多小伙伴表示不知道怎么找回之前的渠道服账号和数据&#xff1f;当然IOS玩家不用担心&#xff0c;如果更换IOS可以继续使用账号&#xff0c;但是IOS更换安卓是…

线程中task取消_Rust Async: async-task源码分析

async-std是rust异步生态中的基础运行时库之一&#xff0c;核心理念是合理的性能 用户友好的api体验。经过几个月密集的开发&#xff0c;前些天已经发布1.0稳定版本。因此是时候来一次深入的底层源码分析。async-std的核心是一个带工作窃取的多线程Executor&#xff0c;而其本…

extjs 方法执行顺序_TestNG之注解变压器amp;方法拦截器

一.注解变压器TestNG允许在执行期间修改所有注解的内容。当源代码中的注解大部分是正确的&#xff0c;但是有一些时刻你想要重写他们的值时&#xff0c;这个是非常有用的。可以使用注解变压器实现。注解变压器是一个实现了接口的类&#xff1a;public interface IAnnotationTra…

服务器升级中暂不可修改怎么回事,抖音服务器升级中,暂不支持本地区开播抖音怎么在法国直播?...

抖音服务器升级中&#xff0c;暂不支持本地区开播抖音怎么在法国直播&#xff1f;除了餐饮&#xff0c;腾讯自主研发的各种跨界开发节目也无人问津。至于年初腾讯app项目和资源&#xff0c;还没有整体发布&#xff0c;不过&#xff0c;神似的行业信息也有公布。这其中对爆红的博…

keil 查看 stm32 io波形_你知道 KEIL 自带示波器吗?

导读&#xff1a;很多时候我们并不满足于查看变量的值&#xff0c;可能还想看这个变量的历史变化&#xff0c;同时以波形的方式显示出来&#xff0c;这就需要了解 KEIL 另一个有趣的东西&#xff1a;逻辑分析仪。效果图&#xff1a;以 STM32F103RET6&#xff0c;外接 8M 晶振&a…

ai怎么取消颗粒效果_AI教程3个超实用设计技巧教程

1-AI教程-矢量颗粒墨点字体教程第一步选择自己需要图形第二步画一个一样大的黑白渐变&#xff0c;放上最上层。第三步效果-像素化-铜板雕刻第四步选择&#xff0c;粒状点&#xff0c;其他的也可以自己尝试。第五步对象-扩散-外观第六步图像描摹同时点击 扩展第七步选择图形&…

企业门户网站服务器,企业或个人门户网站对服务器前的重要准备 - 酷番云

互联网被称为继报纸、广播、杂志和电视之后的第五大数字媒体。因为传统媒体的高成本。而且还受到时间和地域的限制,除非你付出高昂代价,否则效果不太好。互联网是展示世界的窗口&#xff0c;也是信息交流的双向交流工具。成本低&#xff0c;回报丰厚。互联网已经成为越来越多企…

python入门实践19章_Python 编程从入门到实践 第19章 注销一节问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 现在网上的教程都是第1版的&#xff0c;很多代码都不能用&#xff0c;官网下了第2版的代码&#xff0c;一路用第1版教程修修改改好不容易到第19章 19.2.3 注销 这一节&#xff0c;现在遇到个问题&#xff0c;过不去了。。。求教大…

机器人踩滑板_不死神草、飞行滑板…超2000种创新发明在这里展出

便捷式单人飞行滑板、空海光电搜跟设备、“踩不死”的草坪…第二十四届全国发明展览会一带一路暨金砖国家技能发展与技术创新大赛今天(11月19日)上午在佛山市潭洲国际会展中心开幕戳视频看看有啥好玩↓ ↓ ↓视频来源&#xff1a;醒目视频智能中医艾灸床便捷式单人飞行滑板…

区分错误类型_数仓|几种SQL隐藏的错误,你遇到过吗?

本文分享主要描述了几种书写SQL时常见的一些隐藏错误&#xff0c;主要包括&#xff1a;在运算符中使用null值、在聚合数据时使用null值、求平均值时使用判断条件、滤条件中使用and和or、查询的列字段之间缺少逗号分隔、inner join与left join。都是一些比较细节的点&#xff0c…

-9 逆序输出一个整数的各位数字_【Java编程基本功】(八)逆序输出、是否为回文数,判断星期几,升序排列...

第二十四题给一个不多于5位的正整数&#xff0c;要求&#xff1a;一、求它是几位数&#xff0c;二、逆序打印出各位数字。代码&#xff1a;public 第二十五题一个5位数&#xff0c;判断它是不是回文数。代码&#xff1a;public 代码2&#xff1a;public 第二十六题请输入星期几…

动词变名词的变化规则_动词第三人称单数的变化规则及练习(含语音)

点击上面蓝字关注我“点击即可听录音”1. 大部分单词可以直接在动词后:s例&#xff1a;like -- likes play -- playsShe likes cola.发音规则&#xff1a;所加的“s”在清辅音后&#xff0c;发【s】&#xff0c;works在浊辅音及元音后&#xff0c;发【z】&#xff0c; plays在…

c语言sleep函数_做游戏,学C语言,小球碰撞游戏,菜鸡者从黑窗口到图形化编程...

CMD黑窗口小球运动这次教程&#xff0c;我们实现一个弹跳小球。需要学习完基础的变量、运算符、表达式&#xff0c;printf、scanf输入输出函数的用法&#xff0c;if-else、while、for语句的用法。第1步&#xff0c;显示静止的小球。效果为&#xff1a;第2步让小球斜着弹跳。主要…

语言五子棋无ai程序框图_2020输入法报告 如何选择更好的AI语音输入法?

不少人认为&#xff0c;现在输入法均已内置语音输入方式&#xff0c;只要是语音输入就没有什么差别。其实不然。近日&#xff0c;Mob研究院发布《2020中国第三方输入法行业洞察》报告&#xff0c;深入挖掘分析语音输入法行业现状及变化趋势。《报告》统计显示&#xff0c;讯飞输…

java lambda表达式详解_Lambda表达式详解

1 Lambda表达式是Java8中的新特性Java8中引入Lambda表达式&#xff0c;使得java可以函数式编程&#xff0c;在并发性能上迈出了实质性的一步。什么是函数式编程&#xff1f;函数式编程&#xff08;英语&#xff1a;functional programming&#xff09;或称函数程序设计&#xf…

对应的ctrl_取消单元格合并,对空白单元格填充数据,学会Ctrl+Enter五秒搞定

Excel统计数据过程中&#xff0c;相信大家最不想碰到的就是合并单元格&#xff0c;因为合并区域会对我们的数据统计造成各种麻烦。取消单元格合并后&#xff0c;除第一个单元格有内容外其他的单元格都成了空值。案例说明&#xff1a;如上图所示&#xff0c;我们需要将左边合并单…

pythoncsv文件处理_Python处理ExcelCSV文件

Python处理Excel&CSV文件 前言 在今年很早的时候&#xff0c;写过一篇用 Python 玩 Excel 的文章&#xff0c;可以回顾《Python操作 excel &#xff1f;应该这么玩&#xff01;》 当时介绍了用 Pandas 库玩股票&#xff0c;在 Excel 中画出一个图来。 现在有了前几天爬取的…

对比两个字符串相等_字符串匹配问题

0.题目在一个主串S{a, b, c, c, b, c, a, b, d}, 模式串T{a, b, d};请找出模式串在主串中第一次出现的位置提示: 不需要考虑字符串大小写问题&#xff0c;字符均为小写字母第一次在7的位置匹配上1.BF算法Brute-Force算法&#xff0c;简称为 BF算法&#xff0c;是一种简单朴素的…

eclipse 导入maven项目_解决Eclipse导入JAVA WEB项目错误的问题

蓝字关注远浩老师一、 本文问题在开发中不可避免地要涉及导入项目。Eclipse作为常用开发工具&#xff0c;导入JAVA WEB项目文件也很方便&#xff0c;但是我们经常发现导入完的项目有红色的叉来做错误提醒&#xff0c;甚至一些代码也出现错误提示的红线&#xff0c;如下图。 为了…