Golang 教程05 - Loops
Golang提供了多种循环语句,用于重复执行代码块。
1. for循环
1.1 定义
for循环是Golang中最常用的循环语句。它使用for关键字开头,后面跟一个条件表达式。条件表达式控制循环的执行次数。
1.2 语法
go
for condition {
// 循环体
}
1.3 例子
go
x := 0
for x < 5 {
fmt.Println("value of x is:", x)
x++
}
go
for i := 0; i < 5; i++ {
fmt.Println("value of i is:", i)
}
output:
value of x is: 0
value of x is: 1
value of x is: 2
value of x is: 3
value of x is: 4
go
names := []string{"大雄", "小叮当", "静香", "小夫"}
for i := 0; i < len(names); i++ {
fmt.Println(names[i])
}
output:
大雄
小叮当
静香
小夫
go
mapTest := map[int]string{
10:"大雄",
0:"小叮当",
11:"静香",
}
for key, value:= range mapTest {
fmt.Println(key, value)
}
output:
10 大雄
0 小叮当
11 静香
2. For-Range循环
2.1 定义
for-range循环用于遍历集合,如数组、切片、映射等。
2.2 语法
go
for key, value := range collection {
// 循环体
}
2.3 例子
go
arr := []int{1, 2, 3, 4, 5}
for _, value := range arr {
fmt.Println(value)
}
output:
1
2
3
4
5
go
names := []string{"大雄", "小叮当", "静香", "小夫"}
for index, value := range names {
fmt.Printf("the value at index %v is %v; ", index, value)
}
output:
the value at index 0 is 大雄; the value at index 1 is 小叮当; the value at index 2 is 静香; the value at index 3 is 小夫;
go
testChannel := make(chan int)
go func(){
testChannel <- 100
testChannel <- 1000
testChannel <- 10000
testChannel <- 100000
close(testChannel)
}()
for i:= range testChannel {
fmt.Println(i)
}
output:
100
1000
10000
100000