golang控制结构

孤风追影 · · 90 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
1. if结构
  1. 概念:if是用于测试某个条件的语句,如果该条件成立,则会执行if后面由大括号包裹的代码块,否则就会忽略该代码块继续执行后面的语句
  2. 其格式如下
    if condition {
        // statement
    }

2. if-else结构
  1. 如果有两个分支就可以在if条件语句的基础上添加else语句
  2. 其格式如下
    if condition {
        // statement
    } else {
        // statement
    }

3. 多重if-else结构
  1. 多重if-else的格式如下
    if condition {
        // statement
    } else if condition {
        // statement
    } else {
        // statement
    }

4. switch结构
  1. switch分支结构如下
    switch condition {
        case 0: // statement
        case 1: // statement
        ...
        default: //statement 
    }
  1. Note:每一个case都是唯一的分支,从上到下逐一测试,知道匹配为止。如果在执行完每个分支的代码后,还希望执行后续的代码,可以使用fallthrough关键字来达到目的
    switch condition {
        case 0: fallthrough
        case 1: // statement
        ...
        default: // statement
    }

5. for结构
  1. 传统for格式如下
    for 初始化语句; 条件语句; 修饰语句 {}
    func main() {
        for i := 0; i <= 8; i++ {
            fmt.Println(i)
        }
    }

6. 基于条件判断的for语句结构
  1. 格式如下
    for 条件语句 {//statement}
    var i = 0
    for i < 9 {
        fmt.Println(i)
        i++
    }

7. 死循环
  1. 格式如下
    for {// statement}
    for {
        fmt.Println("golang")
    }

8. for-range结构
  1. 该结构一般用于迭代一个集合
    for pos, char := range str {
        // statement
    }

9. break和continue
  1. break:退出循环,执行后续语句
  2. continue:忽略剩余的循环体而直接进入下一次循环的过程,但不是无条件执行,执行之前依旧需要满足循环的判断条件
    for i := 0; i < 5; i++ {
        for j := 0; j < 6; j++ {
             if j == 5 {
                 break
             }
             fmt.Println(j+i)
        }
        fmt.Println(" * ")
    }

    for i := 0; i < 10; i++ {
        if i == 5 {
            continue
        }
        fmt.Println(i)
    }

标签和goto
  1. 标签:即某一行第一个以冒号结尾的单词
  2. goto语句:语句的跳转
    func main() {
    LABEL:
     for i := 0; i < 10; i++ {
            if i == 4 {
                 continue LABEL
            }
          fmt.Println(i)
        }
        k := 0
        KU:
        fmt.Println(k)
        k++
        if k == 7 {
            return
        }
        goto KU
    }


that's all

本文来自:简书

感谢作者:孤风追影

查看原文:golang控制结构

入群交流(和以上内容无关):Go中文网 QQ 交流群:798786647 或加微信入微信群:274768166 备注:入群;关注公众号:Go语言中文网

90 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传