Go语言之控制语句
- 条件语句if,if...else,嵌套if,else if
- 条件语句switch,select
- 循环语句for
- 控制语句中使用到的关键词goto、break、continue
代码演示
package main
import (
"fmt"
"time"
)
func main() {
//条件语句if,if...else,嵌套if,else if
a := 3
if a > 1 {
fmt.Print("a 大于 1")
if a < 4 {
fmt.Print("a 小于 4")
}
}
//条件语句switch判断类型
var b interface{}
b = 32
switch b.(type) {
case int:
fmt.Print("int")
case string:
fmt.Print("string")
case bool:
fmt.Print("bool")
default:
fmt.Print("other")
}
//循环语句for
for { //默认不写为true无线循环
fmt.Print(1)
time.Sleep(1*time.Second) //一秒钟执行一次
}
for i:=1;i<10;i { //带条件的for
fmt.Print(i)
fmt.Print("n")
time.Sleep(1*time.Second)
}
//达到类似其它语言中foreach的结果
c :=[]string{"a","b","c","d"} //定义一个字符串数组
for key,value:= range c {
fmt.Print(key)
fmt.Print("n")
fmt.Print(value)
fmt.Print("n")
}
//下划线省略key
for _,value:= range c {
fmt.Print(value)
fmt.Print("n")
}
//控制语句中使用到的关键词goto、break、continue
//goto 用法
goto One
fmt.Print("代码块") //跳过这块代码
One:
fmt.Print("代码块1")
//注意这种写法 : 无限循环
Two:
fmt.Print("代码块1")
time.Sleep(1*time.Second)
goto Two
//break用法
for {
fmt.Print("1")
time.Sleep(1*time.Second)
break
}
//终止当前循环,外层继续循环
for i:=1;i<=3;i {
for j:=1;j<=2;j {
fmt.Print("1")
time.Sleep(1*time.Second)
break
}
}
//continue i大于等于2直接跳出本次循环继续下次循环
for i:=1;i<=3;i {
if i>=2 {
continue
}
fmt.Print("1")
}
}