一、for循环
在Go语言中,for是唯一的循环结构,在这里for循环有三种使用方式
1 . 单个循环
i := 2
for i < 6{
fmt.Println(i)
i++
}
2.初始化、条件、后续for循环
for i:=0 ; i<5 ;i++{
fmt.Println(i)
}
3.不带条件的for循环,将会一直循环,直到循环体内有break或者return跳出循环
for {
fmt.Println("will my is break")
break
}
也可以使用continue来跳到下一轮的循环中
for i:=1;i<=10;i++{
if i % 2 == 0 {
continue
}
fmt.Println(i)
}
2.if语句
在Go语言中,if 可以不带有圆括号,但是必须要带上 花括号
i := 9
if i % 3 == 0 {
fmt.Println("is ok !")
}else{
fmt.Println("is not")
}
在if中可以使用声明语句
if i := 9 ; i % 3 == 0 {
fmt.Println("is ok !")
}else{
fmt.Println("is not")
}
三 分支结构
1. 一个基本的swtich
i := 3
fmt.Println("write ",i," as ")
switch i {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
default:
fmt.Println("yat no")
}
2.在同一个 case 语句中,可以使用逗号来分隔多个表 达式
switch time.Now().Weekday() {case time.Saturday, time.Sunday: fmt.Println("it's the weekend")default: fmt.Println("it's a weekday")}
3.swich 也可以不带表达式,实现if/else的效果
t := time.Now()
switch {
case t.Hour() < 12:
fmt.Println("it's before noon")
default:
fmt.Println("it's after noon")
}
4.也可以用来比较类型而非值
whatAmI := func(i interface{}) {
switch s := i.(type) {
case bool:
fmt.Println("i'm a bool")
case int:
fmt.Println("i'm a int")
default:
fmt.Println("Don't know type %T\n", s)
}
}