GO语言学习——Go语言基础之流程控制一

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

    }