Go for/if

Golang
506
0
0
2022-08-18
标签   Golang基础

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