一般程序设计语言的循环可以分为 for 循环 、while 循环和 do while 循环 ,但是在 Go 语言 中,只支持 for 循环。while 循环和 do while 循环都可以使用 for 循环来实现。
Go 语言的 for 循环的循环体开始的大括号必须跟 for 写在同一行,不可以单独换行,类似于 if 语句 的大括号。
for i := startIndex; i < endIndex; i++{
//do something
}
参数 | 说明 |
---|---|
for | for 循环使用的关键字。 |
i | for 循环使用的计数变量。 |
startIndex | for 循环的开始初始条件。 |
endIndex | for 循环的结束条件。 |
i++ | 每次循环执行后,计数器的变化。 |
从 startIndex 开始,到 endIndex 结束,每次循环执行 {}
里面的代码逻辑。
for {
}
这里的 for 循环没有任何的开始条件和结束条件,因此循环会一直执行。
使用 for 循环,打印计数器
package main
import "fmt"
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
// 使用 for循环,打印计数器
for i := 0; i < 3; i++ {
fmt.Println("i =", i)
}
fmt.Println("Over")
}
程序运行后,控制台输出如下:
我们定义了一个 for 循环结构,计数器 变量 i 从 0 开始,结束条件是 i < 3,每次执行一次循环都打印出 i 的值,并且将 i 的值加 1。
没有开始条件和结束条件,实现 for 死循环
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
// 没有开始条件和结束条件,实现for死循环
i := 0
for {
fmt.Println("HaiCoder ", i)
i++
time.Sleep(time.Duration(3)*time.Second)
}
fmt.Println("Over")
}
程序运行后,控制台输出如下:
我们定义了一个 for 循环结构,该 for 循环没有任何的开始条件和结束条件,因此是一个死循环。我们在循环开始之前定义了一个变量 i,并赋值为 0,每次执行 for 循环之后,i 的值加 1,同时每执行完一次,使用 Sleep() 函数,停止三秒钟。
只要我们不终止程序,程序会一直执行下去,只有我们点击了左边的红色的方块,程序才会终止执行。
使用 for 循环,求 1 到 100 的和
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
// 使用 for循环,求 1 到 100 的和
sum := 0
for i := 0; i < 101; i++{
sum += i
}
fmt.Println("Sum =", sum)
fmt.Println("Over")
}
程序运行后,控制台输出如下:
我们定义了一个 for 循环结构,计数器变量 i 从 0 开始,结束条件是 i < 101,每次执行一次循环都将当前的 i 的值加到变量 sum 上去,并且将 i 的值加 1。
最后,我们打印变量 sum 的值,为 5050,即 1 到 100 的和。
在 Go 语言中,只支持 for 循环。while 循环和 do while 循环都可以使用 for 循环来实现。Go 语言的 for 循环的循环体开始的大括号必须跟 for 写在同一行,不可以单独换行,类似于 if 语句的大括号。