4.循环和分支¶
4.1 if¶
go中的if结合了C语言和Python,其基本形式如下:
即,不需要写括号,但是要用花括号包括。
若要同时判断多个条件或者调整优先级,也可以使用小括号包围。
此外,Go语言中,if语句还有一种写法,简化了代码的同时使逻辑更清晰:
4.2 switch¶
go语言中有和C相似的switch
分支。其基本格式如下:
switch <var> {
case <value1>, <value2>, ..., <valueN>:
...
case ...:
...
fallthrough // 继续执行下一个case
default:
...
}
可以看到,其基本形式与C语言相同,但有一点要注意,对多个相同case
,go语言使用逗号并排列写多个值。
Info
在C或者Java语言中,需要在case
下写break
才能跳出,否则会继续执行下一个case
中的语句。但go不同,go默认break,如果需要像C或者Java在执行当前case
后,继续执行下一个case
,则要使用fallthrough
关键字。
4.3 for¶
在go语言中,for
关键词用于实现类似C、Python等的 for
和while
。
其基本格式如下:
Info
当for的<condition>
为空时,相当于while true
。
<condition>
可以写成单个条件,也可以写成C语言的for形式,如:i := 1; i < 10; i++
。
使用内置函数range
可以同时获取可迭代对象的索引和值: