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