10. Go语言—for循环

一、for循环

for 初始化语句;条件判断;变量修改

for i := 0; i < 100; i++{
    fmt.Printf('i=%d\n',i)
}
// C 的 while 一样
for i > 0{
    fmt.Println("i>0")
}
// 死循环

for true{
    fmt.Println("i>0")
}
或
for{
    fmt.Printf("i>0")
}

二、for range

// 用来遍历数组、slice、map、chan
package main

import (
    "fmt"
)

func main() {
    str := "hello world"
    for i, v := range str{
        fmt.Printf("index[%d] val[%c] len[%d]\n", i, v, len([]byte(str)))

    }
}
package main

import (
    "time"
    "fmt"
)

func test() {
    time.Sleep(time.Millisecond*100)
}

func main() {
    str := "hello中国world"
    for i, v := range str{
        if i == 2{
            continue
        }else if i >5{
            break
        }
        fmt.Printf("index[%d] val[%c] len[%d]\n", i, v, len([]byte(string(v))))

    }
}

结果:中文3字节
index[0] val[h] len[1]
index[1] val[e] len[1]
index[3] val[l] len[1]
index[4] val[o] len[1]
index[5] val[中] len[3]

三、goto和label

func main(){
    // label作为一个标记
LABEL_1:
    for i := 0; i<=2; i++{
        for j := 0; j <=2; j++{
            if j == 1{
                // 当j为1时,跳转至外层循环
                continue LABEL_1
            }

            fmt.Printf("i is:%d, and j is: %d\n", i, j)
        }

    }
}

结果:
i is:0, and j is: 0
i is:1, and j is: 0
i is:2, and j is: 0
// 只能在同一函数中使用goto
func main(){
    i := 0
HEAD:
    print(i)
    i++
    if i == 5{
        return
    }
    goto HEAD
}

转载于:https://www.cnblogs.com/hq82/p/11073755.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值