一、判断语句 if
- 条件表达式没有括号,左大括号必须和条件语句或者
else
语句在同一行
if 条件 {
//内容
} else {
//内容
}
- 支持一个初始化的表达式,初始化语句中的变量为块级别,并且会隐藏外部同名的变量
a := 1
if a := -1; a < 0 {
fmt.Println("if 内:",a)
}
fmt.Println("if 外",a)
结果:
if 内: -1
if 外: 1
二、循环语句 for
在go语言中循环语句只有 for
一个
示例 1 不带条件
i := 5
for{
i--
if(i <0){
break
}
fmt.Println("in :",i)
}
fmt.Println("out:",i)
输出
in : 4
in : 3
in : 2
in : 1
in : 0
out: -1
示例 2 带条件
i := 5
for i > 0 {
i--
fmt.Println("in :",i)
}
fmt.Println("out:",i)
输出
in : 4
in : 3
in : 2
in : 1
in : 0
out: 0
示例 3 经典的for循环
for i := 0; i < 5; i++ {
fmt.Println("in :",i)
}
输出
in : 0
in : 1
in : 2
in : 3
in : 4
三、选择语句 switch
- 可以使用任何类型作为条件语句
- 不需要写
break
,默认每次执行完一个case
自动终止,如果希望继续执行下一个case
则在上一个case
的末尾加上fallthrough
关键字即可 - 同样,左大括号也是和条件语句必须在一行
i := 3
switch i {
case 3:
fmt.Println("hello ")
fallthrough
case 4:
fmt.Println("world ")
default:
fmt.Println(i)
}
i := 3
switch {
case i < 4:
fmt.Println("hello ")
fallthrough
case 4 == 4:
fmt.Println("world ")
case i > 8:
fmt.Println("world ")
default:
fmt.Println(i)
}
四、跳转语句
break
,continue
和java语言类似,然后还多出了goto
,用来调整程序的执行顺序