go语言第二章(for循环)
简介:在 Go 语言中没有 while 循环结构。但是,可以通过 for 循环和 break 语句来实现类似的功能。
首先没有编译器的可以通过这个网址进行敲代码:Lightly
for
在 Go 语言中,for 循环是一种用来重复执行代码块的结构。它的基本语法如下:
for 初始化语句; 条件表达式; 后置语句 { // 循环体 }
其中,初始化语句在第一次循环前执行,通常用于初始化变量;条件表达式在每次循环前求值,如果为 true,则继续执行循环体,否则跳出循环;后置语句在每次循环后执行,通常用于更新变量。
例如,以下代码使用 for 循环计算从 1 到 10 的和:
sum := 0 for i := 1; i <= 10; i++ { sum += i } fmt.Println(sum) // 输出 55
在这个例子中,初始化语句为 i := 1,将变量 i 初始化为 1;条件表达式为 i <= 10,表示只要 i 不大于 10 就继续执行循环体;后置语句为 i++,表示每次循环后将 i 加 1。
Go 语言的 for 循环可以有多种变形,例如:
- 可以省略初始化语句和后置语句,只保留条件表达式,实现 while 循环的功能。
i := 0 for i < 10 { fmt.Println(i) i++ }
- 可以省略所有语句,实现死循环的功能。
for { fmt.Println("无限循环") }
- 可以使用 range 关键字来遍历数组、切片、映射等集合类型。
arr := []int{1, 2, 3} for index, value := range arr { fmt.Printf("索引:%d,值:%d\n", index, value) }
除了以上常用的形式外,Go 语言的 for 循环还支持标签语法和 continue/break/return 语句,可以实现更复杂的控制流结构。需要注意的是,在编写循环时,要注意循环条件表达式的正确性,以及避免死循环的出现。
例题
1. 打印从 1 到 10 的数字
package main import "fmt" func main() { for i := 1; i <= 10; i++ { fmt.Println(i) } }
2. 计算 1 到 100 的和
package main import "fmt" func main() { sum := 0 for i := 1; i <= 100; i++ { sum += i } fmt.Println("1到100的和为:", sum) }
3. 打印九九乘法表
package main import "fmt" func main() { for i := 1; i <= 9; i++ { for j := 1; j <= i; j++ { fmt.Printf("%d*%d=%d ", j, i, i*j) } fmt.Println() } }
4. 使用 for 循环遍历数组
package main import "fmt" func main() { arr := []int{1, 2, 3} for i := 0; i < len(arr); i++ { fmt.Printf("索引:%d,值:%d\n", i, arr[i]) } }