一、程序的流程结构
程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。
顺序结构:代码从上向下逐行的执行
选择结构:条件满足,某些代码才会被执行。0-1次
if语句,switch语句
循环结构:条件满足,某些代码会被反复的多次执行。0-n次
for语句
二、循环语句
循环语句表示条件满足,可以反复的执行某段代码。
for是唯一的循环语句。(Go没有while循环)
##2.1 For语句
语法结构:
for init; condition; post { }
初始化语句只执行一次。在初始化循环之后,将检查该条件。如果条件计算为true,那么{}中的循环体将被执行,然后是post语句。post语句将在循环的每次成功迭代之后执行。在执行post语句之后,该条件将被重新检查。如果它是正确的,循环将继续执行,否则循环终止。
示例代码:
package mainimport ( "fmt")func main() {for i := 1; i <= 10; i++ {fmt.Printf(" %d",i)}}
在for循环中声明的变量仅在循环范围内可用。因此,i不能在外部访问循环。
所有的三个组成部分,即初始化、条件和post都是可选的。
for condition { }
效果与while相似
for { }
效果与for(;;) 一样
for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环
for key, value := range oldMap {newMap[key] = value}package mainimport "fmt"func main() {var b int = 15var a intnumbers := [6]int{1, 2, 3, 5} /* for 循环 */for a := 0; a < 10; a++ {fmt.Printf("a 的值为: %dn", a)}for a < b {a++fmt.Printf("a 的值为: %dn", a)}for i,x:= range numbers {fmt.Printf("第 %d 位 x 的值 = %dn", i,x)} }
运行结果:
a 的值为: 0a 的值为: 1a 的值为: 2a 的值为: 3a 的值为: 4a 的值为: 5a 的值为: 6a 的值为: 7a 的值为: 8a 的值为: 9a 的值为: 1a 的值为: 2a 的值为: 3a 的值为: 4a 的值为: 5a 的值为: 6a 的值为: 7a 的值为: 8a 的值为: 9a 的值为: 10a 的值为: 11a 的值为: 12a 的值为: 13a 的值为: 14a 的值为: 15第 0 位 x 的值 = 1第 1 位 x 的值 = 2第 2 位 x 的值 = 3第 3 位 x 的值 = 5第 4 位 x 的值 = 0第 5 位 x 的值 = 0
2.2 多层for循环
for循环中又有循环嵌套,就表示多层循环了。
作者:茹姐
出处:千锋教育go语言教研部