Go for/if

董雷發表於2022-01-13

for 迴圈

寫法1

批量賦值

func main() {
    pars := []int{1,2,3,4}
    for i,j := 0,len(pars)-1; i < j; i,j = i+1,j-1 {
        //pars[0],pars[1] = pars[2],pars[3]
        fmt.Println("i: "+strconv.Itoa(i)+ " 值是  "+strconv.Itoa(pars[i]))
        fmt.Println("j: "+strconv.Itoa(j)+ " 值是  "+strconv.Itoa(pars[j]))
        pars[i],pars[j] = pars[j],pars[i]
        fmt.Println(pars)
        fmt.Println("--------- ")
    }
    fmt.Println("最終結果如下")
    fmt.Println(pars)
    os.Exit(200)
}

寫法2

    test := map[int]int{1:1,2:2,3:3,4:4}
    fmt.Println(test[100])
    pid := 1
    for i := test[pid]; i != 0; i = test[pid] {
        fmt.Println("i的結果是: "+ strconv.Itoa(i))
        pid++
    }
//返回結果
0
i的結果是: 1
i的結果是: 2
i的結果是: 3
i的結果是: 4

if 案例1

基礎的迴圈就不說了
在判斷時可以同時執行定義賦值等操作

test := map[int]int{1:1,2:2,3:3,4:4}
    if data,isExist:=test[1];data > 0 && isExist{
        fmt.Println(data)
        fmt.Println(isExist)
    }
//返回
1
true

案例2

    if num := 1;2 > num {
        num += 3
        fmt.Println(num)
    }else if 20 < num {
        num -=2
        fmt.Println(num)
    }else {
        fmt.Println("執行完畢")
    }
//返回資料
4
本作品採用《CC 協議》,轉載必須註明作者和本文連結
good good study day day up