GO语言学习——Go语言基础之流程控制一
阅读原文时间:2022年04月21日阅读:1

Go语言基础之流程控制

if else(分支结构)

package main

import "fmt"

// if条件判断
func main(){
    // age := 19
    // if age > 18 { // 如果 age > 18 执行这个{}中的代码
    //  fmt.Println("赌场开业")
    // }else { // 否则执行这个{}中的代码
    //  fmt.Println("写作业")
    // }

    // // 多个判断条件
    // if age > 35{
    //  fmt.Println("人到中年")
    // }else if age > 18{
    //  fmt.Println("青年")
    // }else {
    //  fmt.Println("好好学习")
    // }

    // 作用域
    // age 变量此时只在if条件判断语句中生效
    if age := 19; age > 18 {
        fmt.Println("赌场开业")
    } else {
        fmt.Println("写作业")
    }

    // fmt.Println(age) // 这里找不到age

}

for(循环结构)

for循环的基本格式如下:

for 初始语句;条件表达式;结束语句{
    循环体语句
}

for range(键值循环)

Go语言中可以使用for range遍历数组、切片、字符串、map 及通道(channel)。 通过for range遍历的返回值有以下规律:

  1. 数组、切片、字符串返回索引和值。

  2. map返回键和值。

  3. 通道(channel)只返回通道内的值。

    package main

    import "fmt"

    // for循环

    func main(){

    // 基本格式

    for i := 0;i < 10; i++{

    fmt.Println(i)

    }

     // 变种1
     // var i = 5
     // for  ;i<10;i++{
     //     fmt.Println(i)
     // }
    
     // 变种2
     // var i = 5
     // for i<10{
     //     fmt.Println(i)
     //     i++
     // }
    
     // 无限循环
     // for {
     //     fmt.Println("123")
     // }
    
     // for range循环
     s := "Hello 中国"
     for i,v := range s{
         // fmt.Println(i, v)
         fmt.Printf("%d %c\n", i, v)
     }

    }