zoukankan      html  css  js  c++  java
  • go入门2 --- 控制流

    对于go来讲控制流也就那么几个:

    1.if 

    这就是一个最简单的if判断,if 初始化语句,判断条件{}, else if, else 必须紧跟上面条件结束的花括号,不能另起一行

    func main() {
    if x := 10; x>1{
    fmt.Println(x)
    }else if x > 0{
        ...
      } else {
        ...
      }
    }

    go 不支持三元运算,这确实是一个比较可惜的地方

    2.for循环

    func main() {
    
        x := "i am good person"
        for i, n := 0, len(x); i < n; i++{  // len(x) 如果经常使用,尽量放到初始化语句中
            fmt.Println(x[i], i ,n)
        }
    
    }

    go 中没有while,直接使用for{}起个死循环就可以,想要打断,直接break

    3.range

    类似于迭代器的操作,搭配for循环使用

    func main() {
    
        x := []string{"i", "am", "good", "person"}
        for index, v := range x{  // index如果用不到,可以使用  _
            fmt.Println(index, v)
        }
    }

    4.switch

    分支表达式可以是任意的类型,默认会自动终止,不需要break,default是所有都找不到的情况下,执行,当然还有fallthrough,意味着我这个分支执行完毕,也会吧下一个分支执行,不会进行判断条件

    func main() {
        var (
            x = []string{"a", "b"}
            y = "a"
        )
        switch y {
        case x[0]:
            fmt.Println("first")
        case x[1]:
            fmt.Println("two")
        default:
            fmt.Println("not found")
        }
    
    }

    4.goto

    这个就是函数内跳转,大小写敏感,当 i > 10 就会执行 BREAK标签,如果标签使用了但是没有执行也会报错

    func main() {
        var i int
        for {
            i ++
            if i >10 {goto BREAK}
        }
        BREAK:
            fmt.Println("over", i)
    }

    5.break, continue

    当y大于3是就是从L2重新执行

    当x大于2时就会打断L1,循环结束

    func main() {
    L1:
        for x := 0; x < 100; x++ {
        L2:
            for y := 0; y < 100; y++ {
                if y > 3 {
                    continue L2
                }
                if x > 2 {
                    break L1
                }
                fmt.Println(x, y)
            }
            fmt.Println()
        }
    
    }
  • 相关阅读:
    STM32F103RCT6项目RAM&ROM占用分析
    STM32使用jasson库程序卡死(freeRTOS/标准库)
    STM32使用OLED模块(SSD1306):OLED_DrawBMP()
    C语言内存管理
    C语言指针
    C语言数组
    C语言循环结构
    C语言函数
    C语言选择结构
    C语言运算符与表达式
  • 原文地址:https://www.cnblogs.com/yangshixiong/p/12120395.html
Copyright © 2011-2022 走看看