美文网首页Go程序员Golang语言社区
11. for循环 go语言只有for循环

11. for循环 go语言只有for循环

作者: 厚土火焱 | 来源:发表于2017-08-10 15:36 被阅读129次

Go 只有一种循环结构—— for 循环。

基本的 for 循环包含三个由分号分开的组成部分:

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

如果条件表达式的值变为 false,那么迭代将终止。

package main

import(
    "fmt"
)

func main(){
    sum := 0
    for i := 0; i <10; i++ {
        sum += 1
    }
    fmt.Println(sum)
}

【注意】for循环的三个组成部分,不需要括起来(这一点区别于C、java等其他语言)。循环体必须用 { } 括起来。
三个组成部分中的,初始化语句和后置语句是可选的。所以,for循环你也可以写成这样

    sum := 0
    sum2 := 1
    for ; sum < 9;  {
        sum += 1
        sum2 += sum2
    }
    fmt.Println(sum2)

其实,上面for循环的三个组成部分中,如果只剩下条件表达式了,那么那两个分号也是可以省略的。这就有点像C语言的while循环了。

package main

import(
    "fmt"
)

func main(){
    sum := 0
    sum2 := 1
    for sum < 9  {
        sum += 1
        sum2 += sum2
    }
    fmt.Println(sum2)
}

如果你连条件表达式也省略了,Go语言也认为是正确的写法。那就是一个死循环。

for{
}

写个简单的例子,因为你需要知道如何挑出死循环,当然是使用break了。

package main

import "fmt"

func main(){
    i := 0
    for  {
        i++
        fmt.Println("Now i is", i)
        if (i>3){
            break
        }
        fmt.Println("Behind if i is", i)
    }
}

执行的结果是这样的,显然在“Behid if i is 4”打印之前,就跳出了for循环。

Now i is 1
Behind if i is 1
Now i is 2
Behind if i is 2
Now i is 3
Behind if i is 3
Now i is 4

相关文章

  • 11. for循环 go语言只有for循环

    Go 只有一种循环结构—— for 循环。 基本的 for 循环包含三个由分号分开的组成部分: 初始化语句:在第一...

  • Go 语言 for 循环

    for 循环是一个循环控制结构,可以执行指定次数的循环。 语法 Go 语言的 For 循环有 3 种形式,只有其中...

  • Go语言-for if else switch defer

    摘自Go语言指南 for Go 只有一种循环结构:for 循环。意味着没有while 注意:和 C、Java、Ja...

  • Go编程基础(控制流程语句)

    现在来学习下go语言中控制流程语句,区别下其他语言不同的写法。 1.for循环 Go只有for一个循环语句关键字,...

  • 08-Go语言循环语句

    for循环语句 Go语言中只有一个for循环语句 四大跳转 break跳转 continue跳转

  • 2、Go语言的控制流.md

    在学习到 Go 的控制流的时候,会发现分支判断和循环相对较少,循环只有 for 循环,没有其他语言那些 while...

  • Go基础笔记

    Go语言基础(一) 流程控制语句:for、if、else、switch、defer for Go只有一种循环结构:...

  • 9. 循环

    9. 循环 循环语句是用来重复执行某一段代码。 for 是 Go 语言唯一的循环语句。Go 语言中并没有其他语言比...

  • Go语言学习笔记-基本程序结构-条件和循环

    循环 条件循环 无限循环 Go语言仅支持for循环 if条件 condition 必须为bool值 支持变量赋值 ...

  • Go语言-循环(注意的点)【持续更新】

    GO的循环要区别于别的语言-----只有for循环。 这里我就不系统描述基本结构了,大体和别的语言基本格式一样。主...

网友评论

    本文标题:11. for循环 go语言只有for循环

    本文链接:https://www.haomeiwen.com/subject/uvshrxtx.html