• 技术文章 >后端开发 >Golang

    go语言中for的写法有哪些

    青灯夜游青灯夜游2023-01-18 14:50:35原创61

    Go 语言的For循环有3种写法:1、和C语言for一样的写法,语法“for init; condition; post {...}”;2、和C语言while一样的写法,语法“for condition {...}”;3、和C语言for(;;)一样的写法,语法“for {...}”。需要注意,左花括号“{”必须与for关键字处于同一行。

    本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

    与多数语言不同的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 do-while 结构。

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

    Go 语言 for 循环的写法

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

    和 C 语言的 for 一样:

    for init; condition; post { }

    和 C 的 while 一样:

    for condition { }

    和 C 的 for(;;) 一样:

    for { }

    for语句执行过程如下:

    使用循环语句时,需要注意的有以下几点:

    for j := 0; j < 5; j++ {
        for i := 0; i < 10; i++ {
            if i > 5 {
                break JLoop
            }
            fmt.Println(i)
        }
    }
    JLoop:
    // ...

    上述代码中,break 语句终止的是 JLoop 标签处的外层循环。

    Go 语言 for 循环的使用

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

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

    以上代码中的 key 和 value 是可以省略。

    如果只想读取 key,格式如下:

    for key := range oldMap

    或者这样:

    for key, _ := range oldMap

    如果只想读取 value,格式如下:

    for _, value := range oldMap

    实例

    计算 1 到 10 的数字之和:

    package main
    
    import "fmt"
    
    func main() {
       sum := 0
          for i := 0; i <= 10; i++ {
             sum += i
          }
       fmt.Println(sum)
    }

    输出结果为:

    55

    init 和 post 参数是可选的,我们可以直接省略它,类似 While 语句。

    以下实例在 sum 小于 10 的时候计算 sum 自相加后的值:

    package main
    
    import "fmt"
    
    func main() {
       sum := 1
       for ; sum <= 10; {
          sum += sum
       }
       fmt.Println(sum)
    
       // 这样写也可以,更像 While 语句形式
       for sum <= 10{
          sum += sum
       }
       fmt.Println(sum)
    }

    输出结果为:

    16
    16

    【相关推荐:Go视频教程编程教学

    以上就是go语言中for的写法有哪些的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:go语言 Golang for
    上一篇:go语言怎么并发 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • go语言怎么删除字符串中的空格• go语言怎么向列表中添加列表• go语言中不定参数是什么• go语言怎么判断一个文件是否存在• Go语言中转义符是什么
    1/1

    PHP中文网