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

第19节 for循环语句

作者头像
小尘哥
发布2019-07-19 17:38:59
3970
发布2019-07-19 17:38:59
举报
文章被收录于专栏:小尘哥的专栏小尘哥的专栏

一、程序的流程结构

程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。

顺序结构:代码从上向下逐行的执行

选择结构:条件满足,某些代码才会被执行。0-1次

if语句,switch语句

循环结构:条件满足,某些代码会被反复的多次执行。0-n次

for语句

二、循环语句

循环语句表示条件满足,可以反复的执行某段代码。

for是唯一的循环语句。(Go没有while循环)

##2.1 for语句

语法结构:

代码语言:javascript
复制
for init; condition; post { }

初始化语句只执行一次。在初始化循环之后,将检查该条件。如果条件计算为true,那么{}中的循环体将被执行,然后是post语句。post语句将在循环的每次成功迭代之后执行。在执行post语句之后,该条件将被重新检查。如果它是正确的,循环将继续执行,否则循环终止。

示例代码:

代码语言:javascript
复制
package main
import (  
    "fmt"
)
func main() {  
    for i := 1; i <= 10; i++ {
        fmt.Printf(" %d",i)
    }
}

在for循环中声明的变量仅在循环范围内可用。因此,i不能在外部访问循环。

2.2 for循环变体

所有的三个组成部分,即初始化、条件和post都是可选的。

代码语言:javascript
复制
for condition { }

效果与while相似

代码语言:javascript
复制
for { }

效果与for(;;) 一样

for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环

代码语言:javascript
复制
for key, value := range oldMap {
    newMap[key] = value
}
代码语言:javascript
复制
package main
import "fmt"
func main() {
   var b int = 15
   var a int
   numbers := [6]int{1, 2, 3, 5} 
   /* for 循环 */
   for a := 0; a < 10; a++ {
      fmt.Printf("a 的值为: %d\n", a)
   }
   for a < b {
      a++
      fmt.Printf("a 的值为: %d\n", a)
      }
   for i,x:= range numbers {
      fmt.Printf("第 %d 位 x 的值 = %d\n", i,x)
   }   
}

运行结果:

代码语言:javascript
复制
a 的值为: 0
a 的值为: 1
a 的值为: 2
a 的值为: 3
a 的值为: 4
a 的值为: 5
a 的值为: 6
a 的值为: 7
a 的值为: 8
a 的值为: 9
a 的值为: 1
a 的值为: 2
a 的值为: 3
a 的值为: 4
a 的值为: 5
a 的值为: 6
a 的值为: 7
a 的值为: 8
a 的值为: 9
a 的值为: 10
a 的值为: 11
a 的值为: 12
a 的值为: 13
a 的值为: 14
a 的值为: 15
第 0 位 x 的值 = 1
第 1 位 x 的值 = 2
第 2 位 x 的值 = 3
第 3 位 x 的值 = 5
第 4 位 x 的值 = 0
第 5 位 x 的值 = 0

2.2 多层for循环

for循环中又有循环嵌套,就表示多层循环了。

千锋Go语言的学习群:784190273

对应视频地址:

https://www.bilibili.com/video/av47467197

源代码:

https://github.com/rubyhan1314/go_foundation

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

本文分享自 陌与尘埃 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、程序的流程结构
  • 二、循环语句
    • 2.2 for循环变体
      • 2.2 多层for循环
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档