版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流程控制if分支结构语句switch语句01.02.目录01if分支结构语句单分支双分支多分支注意事项1if分支结构语句条件语句:根据是否满足条件,有选择地跳转到相应的执行序列。if语句单分支双分支多分支if分支结构语句一般会由关键字if、条件表达式和由花括号包裹的代码块组成。其中代码块为:包含了若干表达式和语句的序列。在Go语言中,代码块必须由花括号包裹。多分支if<condition>{<Executestatement>}elseif<condition>{<Executestatement>}....else{<Executestatement>}双分支if<condition>{<Executestatement>}else{<Executestatement>}单分支if<condition>{<Executestatement>}1if分支结构语句packagemainimport"fmt"funcmain(){vara=1varb=2//如果if语句条件为真,则会执行相对应的代码ifa<=b{fmt.Println("a<=b")}else{fmt.Println("a>b")}}运行结果为:a<=bif语句的条件判断表达式不需要也不能加小括号,即
(),这是Go语言与其他语言if语句的区别。if语句后面的大括号必须跟条件表达式写在一行,不能换行写,换行写会导致编译错误。1if分支结构语句packagemainimport"fmt"funcmain(){
vara=10varb=20//如果if语句条件为真,则不会执行elseif相对应的代码ifa>5{fmt.Println("a>5")}elseifa<b{fmt.Println("a<b")}}运行结果为:a>5if语句与elseif语句是互斥的执行因为if语句已经成立了,所以elseif里面的语句未能执行。1if分支结构语句packagemainimport"fmt"funcmain(){vara=11varb=5ifa>20{fmt.Println("a>20")}elseifa>15{fmt.Println("a>15")}elseifa>10{fmt.Println("a>10")}elseifa>b{fmt.Println("a>b")}}运行结果为:a>10多个elseif语句,会被依次判断,直到其中一个满足条件的被执行1if分支结构语句packagemainimport"fmt"funcmain(){vara=10ifa>5{ifa>20{fmt.Println("a>20")}elseifa>10{fmt.Println("a>10")}else{fmt.Println("a>5")}}else{fmt.Println("a<=5")}}运行结果为:a>5if语句里面可以嵌套多层的if、elseif以及else1if分支结构语句if分支结构语句使用注意事项条件语句不需要使用括号()将条件包含无论语句体内有几条语句,花括号{}都是必须存在的左花括号{必须与if或者else处于同一行在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔在有返回值的函数中,不允许将“最终的”return语句包含在if...else...结构中,否则会编译失败1if分支结构语句02Switch选择语句有表达式无表达式2Switch选择语句Switch选择语句:根据不同条件来执行不同动作,每一个条件对应一个case分支。switch语句有表达式无表达式switch语句的执行过程从上至下,直到找到匹配项匹配项后不需要再加break每一个switch语句只能包含一个可选的default分支,若没有找到匹配项,会默认执行default分支中的代码块switch表达式{//case后的条件可以是多个值casevalue1,value2:<Executestatement>1casevalue3:<Executestatement>2......//若以上条件都不满足,则执行下面的语句default:
<Executestatement>n}有表达式switch{case<condition>1:<Executestatement>1case<condition>2:<Executestatement>2......//若以上条件都不满足,则执行下面的语句default: <Executestatement>n}无表达式2Switch选择语句2Switch选择语句packagemainimport"fmt"funcmain(){score:=80switchscore{case90:fmt.Println("A")case80:fmt.Println("B")case70:fmt.Println("C")default:fmt.Println("D")}}运行结果为:B首先定义整数变量
score接着使用switch语句判断score如果是90,则打印A如果是80,则打印B如果是70,则打印C其他情况,则打印D2Switch选择语句packagemainimport"fmt"funcmain(){score:=80ifscore==90{fmt.Println("A")}elseifscore==80{fmt.Println("B")}elseifscore==70{fmt.Println("C")}else{fmt.Println("D")}}运行结果为:B将上述代码改成if-else写法如果是90,则打印A如果是80,则打印B如果是70,则打印C其他情况,则打印D2Switch选择语句packagemainimport"fmt"funcmain(){switchscore:=80;score{case90:fmt.Println("A")case80:fmt.Println("B")case70:fmt.Println("C")default:fmt.Println("D")}}运行结果为:B可以在判断条件前面定义变量用;号分割2Switch选择语句packagemainimport"fmt"funcmain(){score:=66switch{casescore>90:fmt.Println("A")casescore>80:fmt.Println("B")casescore>70,score>60://可以放多个条件
fmt.Println("C")default:fmt.Println("D")}}运行结果为:Cswitch后面可以没有条件表达,将条件放在case的后面,也可以放多个条件,但每个case后面的条件不能重复。2Switch选择语句packagemainimport"fmt"funcmain(){switchscore:=80;score{case90:fmt.Println("A")case80:fmt.Println("B")fallthrough//强制执行下一case后面的代码case70:fmt.Println("C")default:fmt.Println("D")}}运行结果为:BCswitch语句支持使用fallthrough关键字强制执行下一case里面的代码2Switch选择语句switch语句还可以被用于type-switch来判断某个interface变量中实际存储的变量类型TypeSwitchswitchx.(type){/*定义任意个数的case*/casetype1:statement(s)casetype2:statement(s)/*可选*/default: statement(s)}语法格式2Switch选择语句packagemainimport"fmt"funcmain(){varxinterface{}switchi:=x.(type){
casenil:fmt.Printf("x的类型:%T\r\n",i)caseint:fmt.Printf("x是int型")casefloat64:fmt.Printf("x是float64型")casefunc(int)float64:fmt.Printf("x是func(int)型")casebool,string:fmt.Printf("x是bool或string型")default:fmt.Printf("未知类型")}}运行结果为:x的类型:<nil>通过switch语句判断类型2Switch选择语句Switch选择语句注意事项switch/case后是一个表达式(即:常量,变量,一个有返回的函数都可以);case后的各个表达式的值的数据类型,必须和switch的表达式数据类型一致;case后面可以带多个表达式,使用逗号间隔;case后面的表达式如果是常量值,则要求不能重复;cas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业建筑施工安全培训考核试卷
- 学前教育的家长职业规划考核试卷
- 合成材料制造的材料选择与设计考核试卷
- 企业环保与自然灾害防治考核试卷
- 新材料的应用与商业机会考核试卷
- DB11T 744-2010“一日游”服务质量要求
- 翻译英语课件教学课件
- 气质性格课件教学课件
- 材料解析题-“变化”类设问(原卷版)-2025年高考历史答题技巧与模板构建
- 系统内员工培训 营业项
- 偏瘫病人的体位转移
- 全草类中药的鉴定
- 光伏储能式一体化充电站项目可行性研究报告
- 黑龙江省哈尔滨市八年级上学期物理期中测试试卷四套含答案
- 2023-2024年全国卷英语双向细目表
- 国际油轮与油码头安全指南 第5版 中文版-ISGOTT
- 动画概论教程课件 第4章 动画的分类
- 区域市场的开发与管理
- 单元103热固性塑料注射成型及模具
- 译林版六年级上册英语 unit 5 story time课件
- 五年级上册阅读理解20篇(附带答案解析)经典1
评论
0/150
提交评论