for语句用于根据给定的条件重复执行一个代码块。这个条件或由for子句直接给出,
或从range子句中获得。
1.for子句
一条for语句可以携带一条for子句。for子句可以包含初始化子句、条件子句和后
置子句。下面我们来看一组示例:
var number int
for i:=0;i<100;i++{
number++
var juint-1
for;j%5l=0;j*=3{//省略初始化子句
number++
fork:=1;k%5l=0;{//省略后置子句
k*=3
number++
在for子句的初始化子句和后置子句同时被省略,或者其中的所有部分都省略的情
况下,分隔符“;”可以省略。比如:
varm=1
for m<50{//省略初始化子句和后置子句
m*=3
2.range子句
一条for语句可以携带一条range子句,这样就可以迭代出一个数组或切片值中的每
个元素、一个字符串值中的每个字符,或者一个字典值中的每个键-元素对,以及持续地
接收一个通道类型值中的元素。随着迭代的进行,每一次获取的迭代值(索引、元素、
字符或键-元素对)都会赋给相应的迭代变量。例如:
ints:=[]int{1,2,3,4,5}
for i,d:=range ints{
fmt.Printf(“Index:%d,Value:%d\n",i,d)
在range关键字右边的是range表达式。range表达式一般只会在迭代开始前被求值
一次。
閱讀更多 編程語言探索 的文章