GoLang教程006:循环控制语句
文章目录
- 4、循环控制
- 4.1 基本介绍
- 4.2 基本语法结构
- 4.2.1 经典三段式for循环
- 4.2.2 类似while循环(省略初始化和递增语句)
- 4.2.3 无限循环
- 4.3 循环控制语句
- 4.3.1 break
- 4.3.2 continue
- 4.3.3 goto
- 4.4 range循环
- 4.4.1 遍历切片
- 4.4.2 遍历字符串
- 4.4.3 遍历map
- 4.5 循环嵌套
4、循环控制
4.1 基本介绍
在 Go(Golang)中,循环控制主要通过 for
语句实现。与其他语言(如 C、Java)相比,Go 只有一个循环关键字:for
,它可以实现各种循环结构,包括经典的三段式循环、while 循环、无限循环等。
4.2 基本语法结构
4.2.1 经典三段式for循环
🥷示例代码:
package mainimport "fmt"func main() {for i := 0; i < 10; i++ {fmt.Println(i)}
}
✅运行结果:
4.2.2 类似while循环(省略初始化和递增语句)
🥷示例代码:
package mainimport "fmt"func main() {i := 0for i < 10 {fmt.Println(i)i++}
}
✅运行结果:
4.2.3 无限循环
🥷示例代码:
package mainimport "fmt"func main() {for {fmt.Println("无限循环")}
}
4.3 循环控制语句
4.3.1 break
用于提前终止循环。
🥷示例代码:
package mainimport "fmt"func main() {for i := 0; i < 10; i++ {if i == 5 {break}fmt.Println(i)}
}
✅运行结果:
4.3.2 continue
跳过当前循环的剩余部分,直接进入下一次循环。
🥷示例代码:
package mainimport "fmt"func main() {for i := 0; i < 10; i++ {if i%2 == 0 {continue}fmt.Println(i) // 只打印奇数}
}
✅运行结果:
4.3.3 goto
可以跳转到指定标签的位置(不推荐用于控制循环,容易让代码变得混乱).
🥷示例代码:
package mainimport "fmt"func main() {i := 0
LOOP:if i >= 5 {return}fmt.Println(i)i++goto LOOP
}
4.4 range循环
4.4.1 遍历切片
🥷示例代码:
package mainimport "fmt"func main() {nums := []int{2, 4, 6, 8}for index, value := range nums {fmt.Printf("index: %d, value: %d\n", index, value)}
}
✅运行结果:
4.4.2 遍历字符串
🥷示例代码:
package mainimport "fmt"func main() {for index, ch := range "You know who i am." {fmt.Printf("index: %d, char: %c\n", index, ch)}
}
✅运行结果:
4.4.3 遍历map
🥷示例代码:
package mainimport "fmt"func main() {m := map[string]string{"7": "凯文-杜兰特", "1": "阿门-汤普森"}for key, value := range m {fmt.Printf("key: %s, value: %s\n", key, value)}
}
✅运行结果:
4.5 循环嵌套
🥷示例代码:
package mainimport "fmt"func main() {
outer:for i := 0; i < 3; i++ {for j := 0; j < 3; j++ {if i == 1 && j == 1 {break outer // 跳出最外层循环}fmt.Printf("i=%d, j=%d\n", i, j)}}
}
✅运行结果: