关键字
25个关键字
1 2 3 4 5
| break continue, if else , go chan , var const type for range , go goto defer , switch case default fallthrough package import , func struct return map select
|
流程控制
if .. else ..
表达式的值必须是bool类型。
表达式可以执行初始化语句。如下 :
1 2 3 4 5 6 7 8 9 10 11 12
| var x int func xinit(){ x = 1000 } func main(){ if xinit(); x > 100{ ... // 可以执行 } ... }
|
switch case
无须break,自动在相应的case处执行完毕中断
1 2 3 4 5 6 7 8 9 10 11 12
| func main(){ a , b , c := 0 , 1 , 2 switch x { case a , b : fmt.Println("0 或者 1") case 4 : fmt.Println("值为4") default : fmt.Println("default value") } }
|
1 2 3 4 5 6 7 8 9 10 11 12
| func main(){ a , b , c := 0 , 1 , 2 switch x := 100 ; x { case a , b : fmt.Println("0 或者 1") case 4 : fmt.Println("值为4") default : fmt.Println("default value") } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| func main(){ switch x := 100 ; x { case a , b : fmt.Println("0 或者 1") case 100 : x += 10 fmt.Println(x) fallthrough //无条件执行下一个case,default除外。 case 101 : x += 10 fmt.Println(x) //如果还有fallthrough,则继续执行下一个非default的case default : fmt.Println("default value") } }
|
注意:
- 不能出现重复的case。
- 有时switch可代替if语句。
for
- golang中只有for这一种循环。
- for循环完成了java中的while循环、for..each循环。
1 2 3 4
| //普通for循环 for i := 0 ; i < 100 ; i ++ { ... }
|
1 2 3 4
| //相当于while循环 for x < 10 { ... }
|
1 2 3 4
| //相当于while true for { ... }
|
- for range 用于数据迭代,支持字符串、数组、数组指针、切片、字典、通道类型、键值数据
1 2 3 4 5 6 7 8
| func main(){ data := [10]int{1, 2, 3, 4 } for index , v := range data{ fmt.Print("index is " + index) fmt.Println("value is " + v) } }
|