Go-循环语句-for

2023-04-20 17:12:10 浏览数 (1)

Go编程语言中的for循环语句有多种形式,可以满足不同的编程需求。

基本形式

最基本的for循环语句由三个部分组成:

代码语言:javascript复制
for initialization; condition; post {
    // 循环体
}
  • initialization:循环前执行的初始化语句,可选。
  • condition:循环条件表达式,每次循环前都会计算。
  • post:每次循环后执行的语句,可选。

其中,初始化语句只在循环开始前执行一次,循环条件表达式每次循环前都会计算,如果条件表达式的值为false,则循环结束;每次循环后执行post语句。

省略初始化语句和post语句

在for循环中,初始化语句和post语句是可选的,可以省略,例如:

代码语言:javascript复制
sum := 0
for i := 1; i <= 100; {
    sum  = i
    i  
}

省略条件表达式

在循环中,条件表达式是可以省略的,这时相当于无限循环。例如:

代码语言:javascript复制
for {
    // 无限循环
}

循环遍历数组或切片

在Go中,使用range关键字可以循环遍历数组或切片中的元素。例如:

代码语言:javascript复制
arr := []int{1, 2, 3, 4}
for i, v := range arr {
    fmt.Println(i, v)
}

循环遍历映射

使用range关键字也可以循环遍历映射中的键值对。例如:

代码语言:javascript复制
m := map[string]int{"a": 1, "b": 2, "c": 3}
for k, v := range m {
    fmt.Println(k, v)
}

循环遍历字符串

在Go中,使用range关键字也可以循环遍历字符串中的字符。例如:

代码语言:javascript复制
s := "hello, world!"
for i, c := range s {
    fmt.Printf("index: %d, character: %cn", i, c)
}

循环中使用标签

在Go中,可以在循环语句前面加上一个标签,用于在循环嵌套时跳出指定的循环。例如:

代码语言:javascript复制
outer:
for i := 0; i < 3; i   {
    for j := 0; j < 3; j   {
        if i*j > 2 {
            break outer
        }
        fmt.Println(i, j)
    }
}

循环中使用continue

在循环中,可以使用continue语句跳过本次循环。例如:

代码语言:javascript复制
for i := 0; i < 10; i   {
    if i%2 == 0 {
        continue
    }
    fmt.Println(i)
}
go

0 人点赞