Go 语言之循环语句

欢迎关注,订阅,评论,共同学习,共同进步!

灰子学技术:

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


	

	
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	

 


 

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

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

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值