美文网首页
go学习四·循环

go学习四·循环

作者: 那钱有着落吗 | 来源:发表于2021-03-08 10:39 被阅读0次

一、for循环变体

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

for condition { }

效果与while相似

for { }

效果与for(;;) 一样

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

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

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)
   }   
}

运行结果:

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循环中又有循环嵌套,就表示多层循环了。

二、跳出循环的语句

1、 break语句

break:跳出循环体。break语句用于在结束其正常执行之前突然终止for循环

示例代码:

package main

import (  
    "fmt"
)

func main() {  
    for i := 1; i <= 10; i++ {
        if i > 5 {
            break //loop is terminated if i > 5
        }
        fmt.Printf("%d ", i)
    }
    fmt.Printf("\nline after for loop")
}

2、continue语句

continue:跳出一次循环。continue语句用于跳过for循环的当前迭代。在continue语句后面的for循环中的所有代码将不会在当前迭代中执行。循环将继续到下一个迭代。

示例代码:

package main

import (  
    "fmt"
)

func main() {  
    for i := 1; i <= 10; i++ {
        if i%2 == 0 {
            continue
        }
        fmt.Printf("%d ", i)
    }
}

四、goto语句

goto:可以无条件地转移到过程中指定的行。

语法结构:

goto label;
..
..
label: statement;
image.png
package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 10

   /* 循环 */
   LOOP: for a < 20 {
      if a == 15 {
         /* 跳过迭代 */
         a = a + 1
         goto LOOP
      }
      fmt.Printf("a的值为 : %d\n", a)
      a++     
   }  
}

统一错误处理 多处错误处理存在代码重复时是非常棘手的,例如:

        err := firstCheckError()
    if err != nil {
        goto onExit
    }
    err = secondCheckError()
    if err != nil {
        goto onExit
    }
    fmt.Println("done")
    return
onExit:
    fmt.Println(err)
    exitProcess()

相关文章

  • go学习四·循环

    一、for循环变体 所有的三个组成部分,即初始化、条件和post都是可选的。 效果与while相似 效果与for(...

  • GO学习 for循环

    for循环语句 packagemain import"fmt" funcmain(){ /* 1.标准语法: ...

  • GO学习 多重for循环

    多重for循环 packagemain import"fmt" funcmain(){ /* 循环嵌套:多层循环...

  • GO学习 for循环练习

    题目一:水仙花数 packagemain import("fmt""math") funcmain(){ /*水仙...

  • Go编程基础(控制流程语句)

    现在来学习下go语言中控制流程语句,区别下其他语言不同的写法。 1.for循环 Go只有for一个循环语句关键字,...

  • 08-Go语言循环语句

    for循环语句 Go语言中只有一个for循环语句 四大跳转 break跳转 continue跳转

  • GO——学习笔记(五)

    上篇:GO——学习笔记(四) 下篇:GO——学习笔记(六) 示例代码——go_4 https://github.c...

  • 2、Go语言的控制流.md

    在学习到 Go 的控制流的时候,会发现分支判断和循环相对较少,循环只有 for 循环,没有其他语言那些 while...

  • Go语言基础2 - 控制语句( if, for, switch

    概述 我们将用几节来学习Go语言基础,本文结构如下: 控制结构 Go不再使用 do 或 while 循环,只有一个...

  • GO——学习笔记(三)

    上篇:GO——学习笔记(二) 下篇:GO——学习笔记(四) 参考: https://github.com/asta...

网友评论

      本文标题:go学习四·循环

      本文链接:https://www.haomeiwen.com/subject/zynhqltx.html