有三种结构:顺序结构、选择结构、循环结构
条件语句
- if
if...else ,if...else if。
if statement;condition 这是Go语言特有的写法。
if num := 4; num > 0 {
println("大于零")
} else if num < 0 {
println("小于零")
}
选择结构
- switch
go 中switch的break,默认有,不用写,写也没问题
- switch后面不跟变量,默认命中在true上
score := 88
switch {
case score < 80:
println("80以下")
case score > 80:
println("80以上")
}
- case上可以跟多个数字
month := 8
day := 0
switch month {
case 1, 3, 5, 7, 8, 10, 12:
day = 31
case 2:
day = 28
default:
day = 30
}
println(day)
- switch代码块里面定义局部变量
switch num := 10; num {
case 1:
println("1")
case 10:
println(10)
}
- fallthrough穿透case,java和c#不写默认穿透
switch num := 1; num {
case 1:
println("1")
fallthrough
case 10:
println(10)
}
循环语句
- for
go语言只有for,没有while,但有类似while的用法
num := 1
for num < 5 {
println(num)
num++
}
//打印1-100内能被三整除的数,但不能被5整除
for i := 0; i < 100; i++ {
if i%3 == 0 && i%5 != 0 {
println(i)
}
}
跳出外层循环
label:
for i := 0; i < 5; i++ {
for j := 0; j < 5; j++ {
if i < 4 && i > 1 {
continue label
}
println(i, j)
}
}