第一种
在Go语言中,for
循环有多种形式,for i := 0; ; i++
这种结构代表的是无限循环(infinite loop)的一种简洁写法:
for i := 0; ; i++ {
// 循环体内的代码
}
这里每个分号(;
)分别代表了for
循环的三个部分:
-
初始化语句:
i := 0
,这是循环开始前执行的一次性初始化操作,设置变量i
的初始值为0。 -
条件判断表达式:此处为空(
;
),意味着没有条件检查。因此,循环会一直执行,除非在循环体内遇到break
关键字或者程序退出。 -
后置循环语句:
i++
,每次循环迭代后都会执行这一部分。在这里,它是一个自增操作,即每循环一次,变量i
的值就会增加1。
总结来说,这段代码创建了一个无限循环,其中变量i
从0开始并不断递增,在循环体内部可以使用i
的当前值进行任何所需的操作。若要结束循环,需要在循环体内部放置适当的逻辑来触发break
语句。
第二种
在Go语言中,for ;;
是一个更为简洁的无限循环写法,省略了初始化语句和条件判断表达式,仅保留了后置循环语句部分,但实际上由于没有后置循环语句,这部分也是空的。这种形式的for
循环没有明确的终止条件,会一直执行下去,直到在循环体内遇到break
语句或程序强制结束。
for ;; {
// 循环体内的代码
}
这种写法直观地表达了这是一个无限循环,循环体内的代码会不断地被执行。