Go 语言入门 03—条件语句

条件语句
条件语句就是根据不同的条件执行不同的代码。
示意图:

if 语句
if 语句用于判断某个条件是否满足,当条件满足时则执行 if 语句块中的代码。
语法:
代码示例:
因为表达式score >= 90
的结果为 true,则会在控制台打印出优秀
运行结果:

if...else
在 if 条件语句中,如果表达式为 true 则会执行 if 语句块中的代码,在 if 后还可以增加 else 语句块,则表示当 if 条件为 false 时执行 else 中的代码。
语法:
代码示例:
score = 80,由于表达式score >= 90
结果为 false,则不会执行 if 中的语句块,会转而执行 else 中的语句块。
运行结果:

除了直接使用if...else
之外,还可以在 else 后面继续增加 if 条件判断。
语法:
代码示例:
运行结果:

if...else if
判断没有数量限制,可一直添加else if
判断,但是在实际开发中不建议写太多,如果有特别多得条件需要判断,可使用 switch 进行判断
if 嵌套
if 嵌套表示可以在 if 语句块中添加 if 判断
语法:
代码示例:
score = 90
,则第一层 if 判断score >= 90
为 true,则进入到第一层 if 语句块中,在第一层语句块中score >= 95
为 false,则执行 else 中的代码,最后输出为优秀。
运行结果:

if 嵌套也可以无限制的嵌套,但是在实际开发中同样不建议嵌套太多层。
switch
switch 语句是根据变量的值执行不同的 case,在执行的过程中,会从第一个 case 开始判断,直到碰到一个符合条件的 case 为止,然后执行该 case 中的语句,不同于 java 的是不需要在每一个 case 中添加 break 语句,go 语言默认情况下 case 后面自带 break 语句。
语法:
代码示例:
运行结果:

switch 的变量可以时任意类型,而 case 的变量可以是相同类型的任意值,类型不局限,但是 switch 和 case 的类型必须时相同的类型,同样 case 还可以为表达式。
代码示例:
当 case 为表达式时,则 switch 中就不需要再写变量。
运行结果:

fallthrough
由于在 go 语言中每一个 case 后面都会默认加上 break,所以每次匹配都执行其中的一个 case,但是如果需要执行后面的 case,则可以使用 fallthrough,使用 fallthrough 会强制执行后面的 case 语句,fallthrough 不会判断下一条 case 的表达式结果是否为 true。
代码示例:
由于在每个 case 后面都增加了 fallthrough,则当case score >= 80
匹配时,除了执行该 case 中的语句外,还会直接之后它后面的所有 case,并且不会判断 case 是否为 true。
运行结果:

版权声明: 本文为 InfoQ 作者【良猿】的原创文章。
原文链接:【https://xie.infoq.cn/article/4ce79cd7e8d7ceaf8945711cd】。文章转载请联系作者。
评论