GO学习笔记03

循环

1.if

package main

import "fmt"

func main() {
    s := "土豪"
    //s := "土"
    if s == "土豪" {
        fmt.Println("左手一个诺基亚,右手一个摩托罗拉!")
    } else {
        fmt.Println("屌丝羡慕的流下来几行泪水!")
    }

    if a := 10; a == 10 {
        fmt.Println("a==10")
    }

}

2.switch

package main

import "fmt"

func main() {
    var num int
    switch num {
    case 1:
        fmt.Println("数字1")
        break //默认就是带有的break可以省略
    case 2:
        fmt.Println("数字2")
        //break
    default:
        fmt.Println("数字xx")
    }
}

package main

import "fmt"

func main() {
    var num int
    fmt.Printf("请输入数字:")
    fmt.Scan(&num)
    //num = 10
    switch num {
    case 1:
        fmt.Println("数字1")
        fallthrough     //不跳出循环执行下面的语句
    case 2:
        fmt.Println("数字2")
        fallthrough
    default:
        fmt.Println("数字xx")
    }
}

请输入数字:1
数字1
数字2
数字xx

package main

import "fmt"

func main() {
    switch num := 1; num { //变量的初始化 + 变量的形式
    case 1:
        fmt.Println("数字1")
    case 2:
        fmt.Println("数字2")
    case 3, 4, 5: //也可以是多个条件
    default:
        fmt.Println("数字xx")
    }
    
    //可以没有条件,case后面加条件
    a := 10
    switch {
    case a > 10:
        fmt.Println(">10的数")
    case a == 10:
        fmt.Println("=10的数")
    case a < 10:
        fmt.Println("<10的数")
    default:
        fmt.Println("奇怪的数")
    }
}

3.for循环

package main

import "fmt"

func main() {
    sum := 0
    for i := 1; i <= 100; i++ {
        sum = sum + i
    }
    fmt.Println("sum = ", sum)
      //死循环
      for {
        fmt.Print("Hello ")
    }
}


4.迭代range

package main

import "fmt"

func main() {
    str := "abc"
    //方法一
    for i := 0; i < len(str); i++ {
        fmt.Printf("str[%d]=%c\n", i, str[i])
    }
    fmt.Println("--------------")

    //方法二
    for i, data := range str {
        fmt.Printf("str[%d]=%c\n", i, data)
    }
    fmt.Println("--------------")

    //方法三(方法四的简写)
    for i := range str {
        fmt.Printf("str[%d]=%c\n", i, str[i])

    }
    fmt.Println("--------------")

    //方法四
    for i, _ := range str {
        fmt.Printf("str[%d]=%c\n", i, str[i])

    }
}

5.goto

package main

import "fmt"

func main() {

    fmt.Println("111111111")
    goto End
    fmt.Println("333333333")

End:    //定义标签
    fmt.Println("2222222222")
}

111111111
2222222222
//注意没有执行fmt.Println("333333333")

你可能感兴趣的:(GO学习笔记03)