首页技术文章正文

Go 语言之循环语句介绍

更新时间:2019年08月13日 23时04分30秒 来源:黑马程序员

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

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

 

1、基于计数器的实现。

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

 

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

 

 

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

 

Output:
Hello, i: 0
Hello, i: 1
Hello, i: 2
Hello, i: 3
Hello, i: 4
Hello, playground:

 

实现无限循环:

// 方式一:
for i := 0; ; i++ {
    fmt.Println("Hello, i:",i)
  }
// 方式二:
for ; ;  {
    fmt.Println("Hello, playground:")
  }
// 方式三:
for {
    fmt.Println("Hello, playground:")
  }

 

 

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

格式为:for 条件语句 {

 }

例子如下所示:

 

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

 

实现无限循环:

for true { // 备注:这里的实现方式与C++中的while类似。

         fmt.Println("Hello, playground:")

}

 

3、基于for-range的实现。

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

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

 

例子为:

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并不能保证初始化的顺序和输出的顺序是一致的
ello, 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

以上我们通过实例介绍了Go语言循环语句的用法,希望对你有所帮助,如果想系统学习GO语言,可以点击页面咨询按钮了解黑马程序员GO语言+区块链培训课程。




黑马中级程序员课程


推荐了解热门学科

java培训Python人工智能Web前端培训PHP培训
区块链培训影视制作培训C++培训产品经理培训
UI设计培训新媒体培训产品经理培训Linux运维
大数据培训智能机器人软件开发


以下是黑马程序员热门视频教程,欢迎学习关注!


Python入门教程完整版(懂中文就能学会)【点击】

零起点打开Java世界的大门
【点击】

C++| 匠心之作 从0到1入门学编程【点击】

PHP|零基础入门开发者编程核心技术
【点击】

Web前端入门教程_Web前端html+css+JavaScript【点击】

软件测试入门到精通
【点击】
在线咨询 我要报名
和我们在线交谈!