条件语句 if/else/else if
选择语句 switch/case/select(channel)
循环语句 for/range
跳转语句 goto
1、在流程语句结构中声明的变量,作用域只在所处的流程语句块内
2、{不能另起一行
3、多个语句不能逗号隔开
条件语句
1、条件不需要用括号括起来
2、{ } 必须存在
3、{必须与if/else/else if在同一行;else/else if必须与同一个条件语句中前一个语句块的}在同一行
4、return不能出现在条件语句块里面
5、可以在判断条件之前加入变量初始化语句,以“;”隔开
实例:
if name:="sun"
; age > 10
{ //name只能在此if语句块使用
fmt.Println(name)
}else{
fmt.Println(name, age)
}
选择语句
switch i{
case 0:...
case 1:...
case 2:
fallthrough
case 3, 4:...
default:...
}
1、进行判断的变量不需要括号括起来
2、与C不同,每个case不需要break
3、{必须与switch在用一行
4、i不一定必须是整数,或常量
5、fallthrough表示走下一个case的处理过程
6、可以不设定switch之后的条件表达式,在case中进行限制:此时与if/else if/else等同
switch{
case num > 10 && num < 20:...
}
循环语句
for语句
1、条件表达式不需要括号括起来
2、无限循环: for{...}
3、条件表达式支持多重赋值,但不支持逗号隔开的多个赋值语句
4、{必须与for在同一行
5、
break、
continue同C
6、break支持跳出指定循环
label_break;
for{
for{
break label_break
//跳出与label_break在的同一级的for循环语句
}
}
跳转语句
跳转到标签所在行
goto 标签:标签可在goto语句前,可在goto语句后
break 标签:标签必须在break语句前