泰山神 发表于 2018-9-21 06:51:18

GoLang学习控制语句之for

for结构简介
  Go语言只有for循环这一种循环结构,Go语言中的for循环语句的三个部分不需要用括号括起来,但循环体必须用 { } 括起来。基本的for循环包含三个由分号分开的组成部分:


[*]初始化语句:在第一次循环执行前被执行
[*]循环条件表达式:每轮迭代开始前被求值
[*]后置语句:每轮迭代后被执行
  初始化语句一般是一个短变量声明,这里声明的变量仅在整个 for 循环语句可见。如果条件表达式的值变为 false,那么迭代将终止。

基于计数器的for循环
  基于计数器的迭代,基本形式为:
  

for 初始化语句; 条件语句; 修饰语句 {  //循环语句
  
}
  

  我们用for循环来计算100以内正整数的和。
  

package main  
import "fmt"
  
func main(){
  sum := 0
  for i:=1;i= 0 {
  i = i - 1
  fmt.Printf("The variable i is now: %d\n", i)
  }
  
}
  

for-range结构
  提到for循环,我们必须再提一下range()这个内置函数,这是 Go 语言特有的一种的迭代结构,它一般用来遍历数组,slice和map等集合。我们用range来遍历一个数组,以下代码会打印出每个值的序号和对应的值。
  

package main  

  
import(
  "fmt"
  )
  

  
func main() {
  arr := [...]int{6, 7, 8}
  for i, v := range arr {
  fmt.Println(i,v)
  }
  
}
  

无限循环
  Go 语言有以下几种无限循环:
  

i:=0; ; i++  
for { }
  
for ;; { }
  
for true { }
  

  这些无限循环都是 for 循环的条件语句被省略了。如果 for 循环的头部没有条件语句,那么就会认为条件永远为 true。因此如果不想造成死循环,循环体内必须有相关的条件判断以确保会在某个时刻退出循环。


页: [1]
查看完整版本: GoLang学习控制语句之for