条件判断
//实例
func fn01(x int) int {
var a int
if a = 4; x == 0 {
x = a + x
return 5
} else {
return x
}
}
- 条件语句不需要使用括号将条件包含起来();
- 无论语句体内有几条语句,花括号{}都是必须存在的;
- 左花括号{必须与if或者else处于同一行;
- 在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔
选择语句
//实例
func fnswitch(y int64) int64 {
switch y {
case 12:
fmt.Println("y is ", y)
case 14:
y += 54
fmt.Println("y is ", y)
fallthrough
case 15, 16:
y += 100
fmt.Println("y is ", y)
}
return y
}
- 左花括号{必须与switch处于同一行;
- 条件表达式不限制为常量或者整数;
- 单个case中,可以出现多个结果选项;
- 与C语言等规则相反,Go语言不需要用break来明确退出一个case;
- 只有在case中明确添加 fallthrough 关键字,才会继续执行紧跟的下一个case;
- 可以不设定switch之后的条件表达式,在此种情况下,整个switch结构与多个if...else...的逻辑作用等同。
循环语句
GO中只有 for 循环
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
//或
sum := 0
for {
<span style="white-space:pre"> </span>sum++
<span style="white-space:pre"> </span>if sum > 100 {
<span style="white-space:pre"> </span>break
<span style="white-space:pre"> </span>}
}
跳转语句
func myfunc() {
i := 0
HERE:
fmt.Println(i)
i++
if i < 10 {
goto HERE
}
}