控制流程
更新时间 2021-08-30
关键字
| 关键字 | 作用 |
|---|---|
| if | |
| else | |
| switch | |
| case | |
| fallthrough | |
| default | |
| goto | 跳转 |
| for | |
| continue | |
| break |
if-else
go
package main
import "fmt"
func somenumber() int {
return -7
}
func main() {
if num := somenumber(); num < 0 {
fmt.Println(num, "is negative")
} else if num < 10 {
fmt.Println(num, "has 1 digit")
} else {
fmt.Println(num, "has multiple digits")
}
fmt.Println(num)
}switch-case-default-fallthrough
go
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
sec := time.Now().Unix()
rand.Seed(sec)
i := rand.Int31n(10)
switch i { //switch后的表达式可以省略
case 0:
fmt.Print("zero...")
//无需break即可跳出
case 1:
fmt.Print("one...")
fallthrough //faltthrough,进入下一分支
case 2,3,4,5: //使用逗号来分隔case后的多个表达式
fmt.Print("two...")
default: //default分支可省略
fmt.Print("no match...")
}
fmt.Println("ok")
}for-continue-break
go
func main() {
sum := 0
for i := 1; i <= 100; i++ {
sum += i
if sum == 10 {
break //跳出循环
} else {
continue //继续循环
}
//do something there
}
fmt.Println("sum of 1..100 is", sum)
}