专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

二十七、Go 语言 for 循环语句

文章永久连接:https://tech.souyunku.com/5330

Go 语言 for 循环语句是一个循环控制结构,可以执行指定次数的循环

语法

Go 语言的 for循环有 3 种形式,但只有其中的一种使用分号

1. 和 C 语言 的 for 一样

for init; condition; post { }

2. 和 C 语言的 while 语句 一样

for condition { }

3. 和 C 的 for(;;) 一样

for { }

上面 3 种 for 语句中

  • init: 一般为赋值表达式,给控制变量赋初值
  • condition: 关系表达式或逻辑表达式,循环控制条件
  • post: 一般为赋值表达式,给控制变量增量或减量

for语句执行过程如下

1、 先对表达式1 赋初值
2、 判断赋值表达式 init 是否满足给定条件:

1.  若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判别 condition
2.  否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句

for…range 语句

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

语法

for…range 语句语法格式如下

for key, value := range oldMap {
    newMap[key] = value
}

for 语句流程图

Go 语言 for 语句执行流程如下

img_1.png

范例

/**
 * file: main.go
 * author: 搜云库技术团队(tech.souyunku.com)
 * Copyright © 2015-2065 tech.souyunku.com. All rights reserved.
 */

package main

import "fmt"

func main() {

   var b int = 9
   var a int

   numbers := [6]int{1, 2, 3, 5} 

   /* for 循环 */
   for a := 0; a < 5; a++ {
      fmt.Printf("a 的值为: %d\n", a)
   }

   println("----------------------------")

   for a < b {
      a++
      fmt.Printf("a 的值为: %d\n", a)
      }

   for i,x:= range numbers {
      fmt.Printf("第 %d 位 x 的值 = %d\n", i,x)
   }   
}

编译运行以上 Go 范例,输出结果如下

$ go run main.go
a 的值为: 0
a 的值为: 1
a 的值为: 2
a 的值为: 3
a 的值为: 4
----------------------------
a 的值为: 5
a 的值为: 6
a 的值为: 7
a 的值为: 8

第 0 位 x 的值 = 1
第 1 位 x 的值 = 2
第 2 位 x 的值 = 3
第 3 位 x 的值 = 5
第 4 位 x 的值 = 0
第 5 位 x 的值 = 0

干货推荐

本站推荐:精选优质专栏

附录:GOlang 教程:系列文章

未经允许不得转载:搜云库技术团队 » 二十七、Go 语言 for 循环语句

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们