不鳥萬如一的各種垃圾彙總 2017-12-21
其实和很多语言都是类似的,go语言也是有运算符、条件语句和循环语句。
运算符(这一点和c相同)
Go 语言内置的运算符:
当然,运算符也是有优先级的。
条件语句
正如其他语言,go中也存在一下条件语句:
注意,在这里我们除了常规的if语句操作相同以外,其他都是类似。
switch注意点如下:
select注意点如下:
选择语句
注意,for循环条件控制器是无需括号的,循环体需要花括号包裹,循环变量、循环调教、循环变量变化量之间用 ; 分割。
demo如下:
package main //导包 import ( "fmt" ) func main() { numbers := [6]int{1, 2, 3, 5} for i := range numbers { fmt.Printf("第 %d 位 x 的值 = %d\n", i, numbers[i]) } fmt.Println("====我是分割线====") for i, x := range numbers { fmt.Printf("第 %d 位 x 的值 = %d\n", i, x) } fmt.Println("====我是分割线====") for a := 0; a < len(numbers); a++ { fmt.Printf("第 %d 位 x 的值 = %d\n", a, numbers[a]) } }
当然我们能够小小的推测一下结果,这里直接贴出结果如下:
第 0 位 x 的值 = 1 第 1 位 x 的值 = 2 第 2 位 x 的值 = 3 第 3 位 x 的值 = 5 第 4 位 x 的值 = 0 第 5 位 x 的值 = 0 ====我是分割线==== 第 0 位 x 的值 = 1 第 1 位 x 的值 = 2 第 2 位 x 的值 = 3 第 3 位 x 的值 = 5 第 4 位 x 的值 = 0 第 5 位 x 的值 = 0 ====我是分割线==== 第 0 位 x 的值 = 1 第 1 位 x 的值 = 2 第 2 位 x 的值 = 3 第 3 位 x 的值 = 5 第 4 位 x 的值 = 0 第 5 位 x 的值 = 0
当然,我们说到循环,不得不提一下循环控制语句,如下:
值得一提的是,break和continue都和其他语言中的用法类似。但是个别一些语言中不存在goto或者很少使用。goto示例如下:
/* 定义局部变量 */ var a int = 10 /* 循环 */ LOOP: for a < 20 { if a == 15 { /* 跳过迭代 */ a = a + 1 goto LOOP } fmt.Printf("a的值为 : %d\n", a) a++ }
运行结果如下:
a的值为 : 10 a的值为 : 11 a的值为 : 12 a的值为 : 13 a的值为 : 14 a的值为 : 16 a的值为 : 17 a的值为 : 18 a的值为 : 19
我们简易的看一下goto语法:label: statement; ··· goto label
也就是说我们给某处语句打上 label 标签,使用goto则会跳转到该语句。
总结: