Go by Example-循环

Go By Example-循环语句

Go和其他大多数语言不太一样,没有While和Do-Whiile形式的循环,只有一个for,来实现循环。

基本结构

for循环的基本结构是这个样子

    for 变量;条件;增量{内容}

首先,区别于其他语言for循环的{}前面的部分,没有括号。
然后{}里必须写内容,不能为空。;之间的内容,可以随意省略
通常写法,一个完整的for循环

    for a:=0;a<5;a++{
        fmt.Println(a)
    }

第一部分是一个赋值的操作,第二部分是一个判断条件,第三部分是一个增量的设定。
Go的for循环比较灵活
我们也可以只写第一部分

    for i := 1; ; {
        fmt.Printf("i=%d\n",i)
        if i > 10 {
            break
        }

        i++
    }

如果只写第一部分,判断条件和增量设定就要在循环过程设置了,比如这里使用了if条件。

或者只写第二部分

    var j int =1
    for ; j<5; {
        fmt.Printf("j=%d\n",j)
        j++

    }

当然也可以只写第三部分

    var k int =1
    for ; ;k++ {
        if k>5{
            break
        }
        fmt.Printf("k=%d\n",k)


    }

或者你干脆什么都不写

    for ;;{
        fmt.Println("无限循环")
        break
    }
    //全省略,一般简写为下面形式
    for{
        fmt.Println("无限循环")
        break
    }

因为Go中没有where语句,如果想实现一个无限循环,我们就可以使用这种情况

综合示例

package main

import "fmt"

func main() {
  i:=1
  for i<=3{
    fmt.Println(i)
    i++
  }
  for{
    fmt.Println("无限循环")
    break
  }

  here:
  for {
      fmt.Println("想不到吧")
      for j:=0;j<3 ;j++  {
          break here
      }
  }
  fmt.Println("通过break添加标签here,跳出双重循环")
}

观察发现你会看到break后面跟了一个here,而这个here在for循环之前出现过一次。
这里的here可以是任何的非Go语言关键字,起到一个类似goto的作用,但是它和goto还不一样。
关于for循环大概可以总结为下面三点
1.break的标签必须在最外层for循环的前面。
2.break的标签执行之后,会继续for循环后面的代码,不会再重新进入循环。
3.break加标签用法,在嵌套的循环中使用。

转载于:https://www.cnblogs.com/c-x-a/p/11474921.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值