1、判断语句if
- 条件表达式没有括号
- 支持初始化表达式
- 初始化语句的变量自在本block内有效
if a,b,c := 1,2,3;a+b+c>6 {
fmt.Println("haha")
}else{
fmt.Println("hehe")
}
2、循环语句for
Go循环只有for关键字,没有while,但可以达到同样的效果
for a,b:=1,2;a+b<100;a++ {
fmt.Println(a+b)
}
i := 1
for i<=100 {
fmt.Println(i)
i++
}
3、选择语句switch
- 条件语句可以使用任何类型或表达式,甚至不填
- 不需要写break,一旦条件符合自动终止,如果希望继续执行下一个case,需使用fallthrough
- 支持初始化表达式,右侧跟分号
var a int = 1
switch {
case a>=1:
fmt.Println("a>=1")
case a>=0:
fmt.Println("a>=0")
}
var a int = 1
switch a {
case 0:
fmt.Println("a=0")
case 1:
fmt.Println("a=1")
}
switch a:=1; {
case a>=1:
fmt.Println("a>=1")
fallthrough
case a>=0:
fmt.Println("a>=0")
}