08-Go语言循环语句

for循环语句

  • Go语言中只有一个for循环语句
1.在Go语言中循环结构只有一个 for
    因为while/dowhile能做的for都能做, 所以Go只保留了for循环

    2.for循环格式
    for 初始化表达式;条件表达式;增量表达式{
        循环体
    }

    特点:
    1.没有非零即真的概念, 条件表达式的返回值必须是布尔类型
    2.不能省略大括号
    3.最简单的死循环
    for{}
import "fmt"

func main() {
    for i := 0; i < 20; i++ {
        fmt.Println("打印点东西吧")
    }
}

四大跳转

  • break跳转
package main

import "fmt"

func main() {
    /*
    1.在C语言中有四大跳转语句 break continue goto return
    2.在Go语言中也有四大跳转语句  break continue goto return
    3.在C语言中break的应用范围和Go语言的应用范围一样
    switch语句和循环语句
    但是Go语言的switch语句中默认就不会穿透, 所以break写不写都行, 一般都不写
    5.注意点:
    Go语言中的break可以跳转到指定的标签, 但是标签只能定义在前面, 并且跳转到标签之后循环不会被再次执行
    标签和循环之间不能编写其它语句
    */

    for i := 0; i <= 10; i++ {
        if i == 5 {
            break //跳出循环
        }
        fmt.Println("打飞机")
    }
}

  • continue跳转
package main

import "fmt"

func main() {
    /*
    1.在C语言中continue只能用于循环结构
    2.在Go语言中和C语言一样, 也只能用于循环结构

    3.使用的各种特性和C语言都一样, 唯一不一样的就是可以跳转到指定的标签

    注意点:
    如果跳转到指定的标签, 对于单层循环来说没有任何意义, 和不指定标签的效果一样
    如果跳转到指定的标签, 对于多层循环来说才有意义, 结束当前内循环, 跳到下一次外循环
    其它的注意点和break跳转到标签一样
    标签只能定义在前面, 标签和循环之间不能添加其它语句
     */

    //for i := 0; i < 10; i++ {
    //  if i % 2 == 0 {
    //      continue //和C语言一样结束本次循环进入下一次循环
    //  }
    //  fmt.Println(i)
    //}
LNJ:
    //num := 10  会报错
    for i := 0; i < 10; i++ {
        fmt.Println(i)
        for j := 0; j < 10; j++ {
            fmt.Printf("%d", j)
            continue LNJ
        }

    }
}

你可能感兴趣的:(08-Go语言循环语句)