Go语言基础篇--4.Go语言之【if+switch+for语句】

写在前面:各类程序语言中的if for switch语句的语法基本上是类似的,只需要注意go语言与其他程序语言的不同之处就好。

if语句

特例:go语言中if语句中可以包含变量的申明,但是其作用域仅仅在当前的if语句结构当中可用。

	if num := 99; num >= 60 {
		fmt.Printf("分数为:%d.恭喜及格\n", num)
	} else {
		fmt.Printf("分数为:%d.不及格\n", num)
	}

如上,num在该if-else结构语句当中定义,因此其作用域仅仅在该语句结构当中有效。

switch-case语句

tips:
1.case是无序的
2.case后的数值是唯一的
3.case后可跟随多个数值
4.case后的数值必须与switch作用的变量类型保持一致
5.如果省略了switch后面的变量,则默认是bool类型且作用在true上

go中的fallthrough可穿透当前case到达下一个case,且fallthrough只可放在某个case中的最后一行

for语句

/*
for 表达式1,表达式2,表达式3{\
......
}
*/
for i:=1;i<6;i++ {
	fmt.Printf("i-->%d\n",i)
}
//fmt.Printf(i)//报错,因为i的作用域仅在for结构内有效

只有表达式2时,正常情况下是for ; i<6 ; (…)然鹅go语言中";"可以省略,因此就可写成如下形式。该形式与上述for循环的区别就在于i的作用域发生改变。

i:=1
for i<6 {
	fmt.Printf("i-->%d\n",i)
}
fmt.Printf(i)

省略表达式2时,相当于直接作用于表达式2=true的条件上,此时for循环的功能便和while(true){…}相同

i := 1
for {
	fmt.Printf("i-->%d\n",i)
	i++
}

for中的continue语句,跳过当前循环,直接执行下一次循环

	for i := 1; i <= 9; i++ {
		if i == 5 {
			continue
		}
		fmt.Printf("%d", i)
	}
//输出结果为12346789(跳过5)

你可能感兴趣的:(Go语言,go)