前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go 语言之循环语句

Go 语言之循环语句

作者头像
灰子学技术
发布2023-10-30 15:19:03
1220
发布2023-10-30 15:19:03
举报
文章被收录于专栏:灰子学技术

Go语言中的循环语句只有for,没有while和do/while这两种格式。

Go语言中的for语句的表达形式有三种实现方式:

1、基于计数器的实现。

语法规则如下所示,这与C++的for循环实现模式基本类似,不过没有()。

代码语言:javascript
复制
for i := 0; i<N; ++i {  // 备注与C++的不同:1. 表达式不需要添加括号,2.{ 要与for语句在同一行
}

例子:

代码语言:javascript
复制
package main


import (
  "fmt"
)


func main() {
  for i := 0; i < 5; i++ {
    fmt.Println("Hello, i:",i)
  }
  fmt.Println("Hello, playground:")
  return
}

Output:

代码语言:javascript
复制
Hello, i: 0
Hello, i: 1
Hello, i: 2
Hello, i: 3
Hello, i: 4
Hello, playground:

实现无限循环:

代码语言:javascript
复制
// 方式一:
for i := 0; ; i++ {
    fmt.Println("Hello, i:",i)
  }
// 方式二:
for ; ;  {
    fmt.Println("Hello, playground:")
  }
// 方式三:
for {
    fmt.Println("Hello, playground:")
  }

2、基于条件判断的实现。

格式为:for 条件语句 {

}

例子如下所示:

代码语言:javascript
复制


package main
import (
  "fmt"
)
func main() {
        i := 0
  for i < 5 {
    fmt.Println("Hello, playground:",i)
    i += 2
  }
  return
}
Output:
Hello, playground: 0
Hello, playground: 2
Hello, playground: 4

实现无限循环:

代码语言:javascript
复制


for true { // 备注:这里的实现方式与C++中的while类似。
          fmt.Println("Hello, playground:")
}

3、基于for-range的实现。

格式为:for idx, value := range collection {

} // 备注:这里的实现与C++中的foreach很类似。

例子为:

代码语言:javascript
复制


package main
import (
  "fmt"
)
func main() {
       // 1. 数组的循环
        strs := []string{"Hello", "World", "I", "Love", "You!"}
  for i, str := range strs {
    fmt.Println("Hello, Strs:", i, str)
  }
  // 2. map的循环
  strMap := map[string]string {
    "a":"Hello",
    "b":"The",
    "c":"World",
  }
  for i, str := range strMap {
    fmt.Println("Hello, strMap:", i, str)
  }
  return
}

Output: // 备注:从map的输出顺序来看,map并不能保证初始化的顺序和输出的顺序是一致的

代码语言:javascript
复制


Hello, Strs: 0 Hello
Hello, Strs: 1 World
Hello, Strs: 2 I
Hello, Strs: 3 Love
Hello, Strs: 4 You!
Hello, strMap: b The
Hello, strMap: c World
Hello, strMap: a Hello

灰子作于二零一九年七月五日。

【原创作品,欢迎分享,请勿转载,谢谢尊重!!】

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 灰子学技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档