首先,Go语言中循环的格式是这样规定的:
for initialization; condition; post{
//zero or more statement
}
注意,post语句与‘{’必须在同一行中,没有圆括号的限制。initialzation是整个循环的起点,condition是一个boolean值的表达式,是每一次循环的起点。post在循环体执行之后执行。循环会一直执行到condition的值为false。
package main
import "fmt"
func main(){
result,j:=0,10
for i:=1;i<j;i++{
result += i
}
fmt.Println(result)
}
- 类while循环:
Go语言中没有实际意义上的while循环,但是有类似while循环的for循环格式
//a traditional while loop
for condition{
//...
}
- 死循环:
//a traditional infinite loop
for{
//...
}
- range函数
range函数在循环中可以用来获取一个数组的下标与对应值,所以有两个返回值。
package main
import "fmt"
func main(){
a := []string{"a","b","c","d"}
for index,value:=range a{
fmt.Print(index)
fmt.Println(value)
}
}
执行上面的程序,每次循环就会输出对应的下标与值。有点类似于java中的foreach循环。
当我们不需要下标值index时怎么办呢?可以使用一个空白符‘_’去代替。他可以使用在当你需要一个变量,但是这个变量对于语法逻辑没有实际作用的时候。
package main
import "fmt"
func main(){
a := []string{"a","b","c","d"}
for _,value:=range a{
fmt.Println(value)
}
}