循环
1.只支持for
代码如下所示:
func TestWhileLoop(t *testing.T) {
n := 0
for n < 5 {
t.Log(n)
n++
}
}
条件
1.condition条件必须为布尔值
2.支持变量赋值
代码如下所示:
func TestIfMultiSec(t *testing.T) {
if a := 1 == 1; a {
t.Log("1==1")
}
}
switch
1.条件表达式不限制为常量或整数
2.单个case中,可以出现多个结果选项,用逗号分隔
3.不需要用break来明确退出一个case
4.可以不设定switch之后的条件表达式,在这种情况下,整个switch结构和多个if...else...的逻辑作用等同
代码如下所示:
func TestSwitchMultiSec(t *testing.T) {
for i := 0; i < 5; i++ {
switch i {
case 0, 2:
t.Log("even")
case 1, 3:
t.Log("odd")
default:
t.Log("other")
}
}
}
func TestSwitchCaseCondition(t *testing.T) {
for i := 0; i < 5; i++ {
switch {
case i%2 == 0:
t.Log("even")
case i%2 == 1:
t.Log("odd")
default:
t.Log("other")
}
}
}