【1】语法结构:
for 初始表达式; 布尔表达式; 迭代因子 {
循环体;
}
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。
初始化部分设置循环变量的初值
条件判断部分为任意布尔表达式
迭代因子控制循环变量的增减
for循环在执行条件判定后,先执行的循环体部分,再执行步进。
for循环结构的流程图如图所示:
【2】代码展示:
步骤1:
package main
import "fmt"
func main(){
//实现一个功能:求和: 1+2+3+4+5:
//定义变量:
var i1 int = 1
var i2 int = 2
var i3 int = 3
var i4 int = 4
var i5 int = 5
//求和:
//定义一个变量,用来接收这个和
var sum int = 0
sum += i1
sum += i2
sum += i3
sum += i4
sum += i5
//输出结果:
fmt.Println(sum)
}
缺点:变量的定义太多了
步骤2:
package main
import "fmt"
func main(){
//实现一个功能:求和: 1+2+3+4+5:
//定义变量:
var i int = 1
//求和:
//定义一个变量,用来接收这个和
var sum int = 0
sum += i
i++
sum += i
i++
sum += i
i++
sum += i
i++
sum += i
i++
//输出结果:
fmt.Println(sum)
}
缺点:重复的代码太多了
解决:利用for循环:
package main
import "fmt"
func main(){
//实现一个功能:求和: 1+2+3+4+5:
//求和:
//利用for循环来解决问题:
var sum int = 0
for i := 1 ; i <= 5 ; i++ {
sum += i
}
//输出结果:
fmt.Println(sum)
// for循环的语法格式:
// for 初始表达式; 布尔表达式(条件判断); 迭代因子 {
// 循环体;--》反复重复执行的内容
// }
// 注意:for的初始表达式 不能用var定义变量的形式,要用:=
// 注意:for循环实际就是让程序员写代码的效率高了,但是底层该怎么执行还是怎么执行的,底层效率没有提高,只是程序员写代码简洁了而已
}
for循环原理:
使用细节
【1】格式灵活:
package main
import "fmt"
func main(){
i := 1 //变量的初始化
for i<=5 {//条件表达式。判断条件
fmt.Println("你好 Golang")//循环体
i++//迭代
}
}
【2】死循环:
package main
import "fmt"
func main(){
//死循环:
// for {
// fmt.Println("你好 Golang")
// }
for ;; {
fmt.Println("你好 Golang")
}
}
在控制台中结束死循环:ctrl+c