go——选择和循环
go——选择和循环
if-else
用法
写法一
num := 2
if num >= 5 {
fmt.Println("sdfsdf")
} else {
fmt.Println("sdfsf")
}
写法二
dd := 5
if dd > 5 {
fmt.Println("dsfsdf")
} else if dd > 2 {
fmt.Print("dfsdfa")
} else {
fmt.Print("sdfsd")
}
写法三
//作用域仅在if-else中
if ss:=2; ss>5 {
fmt.Println("dfssd")
}
switch
用法
写法一
num := 5
switch num{
case 1:
fmt.Println("1")
case 2:
fmt.Println("2")
default:
fmt.Println("d")
}
写法二
score := 88
switch {
case score >=0 && score < 60:
fmt.Print("dsfsdf")
case score >= 60 && score < 80:
fmt.Print("sdfsf")
default:
fmt.Print("sdfs")
}
写法三
num := 5
switch num{
case 1,2,3:
fmt.Println("1")
case 4,6,7:
fmt.Println("2")
default:
fmt.Println("d")
}
写法四
//作用域仅在switch中
switch num := 5; num{
case 1,2,3:
fmt.Println("1")
case 4,6,7:
fmt.Println("2")
default:
fmt.Println("d")
}
break和fallthrough
- break中断switch
- fallthrough可以穿透switch,即当一个条件满足时,执行下面所有判断的条件语句
- fallthrough位于case条件的最后一行
for
说明
go中的for循环类似c语言,即
for 表达式1; 表达式2; 表达式3 {
循环体
}
/*
**表达式1:初始化
**表达式2:判断条件
**表达式3:迭代值
**省略表达式1:
**省略表达式2:循环永远成立,即死循环
**省略表达式3:
*/
用法
用法一
for i=1; i<5; i++ {
fmt.Println(i)
}
用法二
num := 1
for i<5 {
fmt.Println(i)
i++
}
break和continue
一般用法和其它语言一样,但是go可以有一些特殊的使用方法
out:
for i := 1; i < 5; i++ {
for j := 1; j < i; j++ {
if j == i+2 {
fmt.Println(i, j)
break out
}
}
}
goto
标签跳转
a := 1
loop:
a++
if a > 10 {
goto loop
}