流程控制if分支结构语句switch语句01.02.目录01if分支结构语句•单分支•双分支•多分支•注意事项1if分支结构语句条件语句:根据是否满足条件,有选择地跳转到相应的执行序列。if语句单分支双分支多分支•if分支结构语句一般会由关键字if、条件表达式和由花括号包裹的代码块组成。•其中代码块为:包含了若干表达式和语句的序列。在Go语言中,代码块必须由花括号包裹。多分支if{}elseif{}....else{}双分支if{}else{}单分支if{}1if分支结构语句packagemainimport"fmt"funcmain(){vara=1varb=2//如果if语句条件为真,则会执行相对应的代码ifa<=b{fmt.Println("a<=b")}else{fmt.Println("a>b")}}运行结果为:a<=b•if语句的条件判断表达式不需要也不能加小括号,即(),这是Go语言与其他语言if语句的区别。•if语句后面的大括号必须跟条件表达式写在一行,不能换行写,换行写会导致编译错误。1if分支结构语句packagemainimport"fmt"funcmain(){vara=10varb=20//如果if语句条件为真,则不会执行elseif相对应的代码ifa>5{fmt.Println("a>5")}elseifa5•if语句与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>5•if语句里面可以嵌套多层的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:1casevalue3:2......//若以上条件都不满足,则执行下面的语句default:n}有表达式switch{case1:1case2:2......//若以上条件都不满足,则执行下面的语句default: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:...