Golang 菜鳥教程

Golang 控制語句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項(xiàng)

Go 語言循環(huán)語句(for循環(huán))

Go語言for循環(huán)是一種重復(fù)控制語句,它使我們可以編寫執(zhí)行特定次數(shù)的循環(huán)。在Go語言中,此for循環(huán)可以以不同的形式使用,形式包括:

1.簡單的for循環(huán)我們在其他編程語言(例如C,C ++,Java,C#等)中使用的相似。

語法:

for initialization; condition; post{
       // 語句....
}

這里,

  • 初始化(initialization)語句是可選的,用于循環(huán)開始之前執(zhí)行。初始化語句始終位于簡單的語句中,例如變量聲明,遞增或賦值語句或函數(shù)調(diào)用。

  • 條件(condition)語句包含一個布爾表達(dá)式,該表達(dá)式在循環(huán)的每次迭代開始時計算。如果條件語句的值為true,則執(zhí)行循環(huán)。

  • post語句在for循環(huán)體之后執(zhí)行。在post語句之后,條件語句再次計算條件語句的值是否為false,然后循環(huán)結(jié)束。

//使用for循環(huán)  
package main 
  
import "fmt"
  
//主函數(shù) 
func main() { 
      
    // for 循環(huán)
        //這個循環(huán)在i = 0時開始執(zhí)行,直到i<4條件為真
        //post語句是i++
    for i := 0; i < 4; i++{ 
      fmt.Printf("nhooo\n")   
    } 
    
}

輸出:

nhooo
nhooo
nhooo
nhooo

2.將for循環(huán)作為無限循環(huán):通過從for循環(huán)中刪除所有三個表達(dá)式,for循環(huán)也可用作無限循環(huán)。如果用戶未在for循環(huán)中編寫條件語句,則意味著條件語句為true,并且循環(huán)進(jìn)入無限循環(huán)。

語法:

for{
     // 語句...
}
// 使用無限循環(huán)  
package main 
  
import "fmt"
   
func main() { 
      
    // 無限循環(huán) 
    for { 
      fmt.Printf("nhooo\n")   
    } 
    
}

輸出:

nhooo
nhooo
nhooo
nhooo
nhooo
nhooo
nhooo
nhooo
nhooo
nhooo
...........

3. for循環(huán)用作while循環(huán): for循環(huán)也可以用作while循環(huán)。執(zhí)行此循環(huán),直到給定條件為真為止。當(dāng)給定條件的值為false時,循環(huán)結(jié)束。

語法:

for condition{
    //語句..
}
//for循環(huán)與while循環(huán)相同 
package main 
  
import "fmt"
   
func main() { 
      
      //while循環(huán)
      //for循環(huán)執(zhí)行到
      //i <3條件為真
    i:= 0 
    for i < 3 { 
       i += 2 
    } 
  fmt.Println(i)  
}

輸出:

4

4. for循環(huán)中的簡單范圍:您也可以在for循環(huán)中使用范圍。

語法:

for i, j:= range rvariable{
   // 語句..
}

這里,

  • i和j是分配迭代值的變量。它們也稱為迭代變量。

  • 第二個變量,即j是可選的。

  • 范圍表達(dá)式在循環(huán)開始之前被評估一次。

package main 
  
import "fmt"

func main() { 
      
    //這里rvariable是一個數(shù)組 
    rvariable:= []string{"GFG", "Geeks", "nhooo"}  
      
        //i和j存儲rvariable的值
        //i存儲單個字符串和的索引號
        //j存儲給定數(shù)組的單個字符串
    for i, j:= range rvariable { 
       fmt.Println(i, j)  
    } 
    
}

輸出:

0 GFG
1 Geeks
2 nhooo

5.對字符串使用for循環(huán): for循環(huán)可以遍歷字符串的Unicode代碼點(diǎn)。

語法:

for index, chr:= range str{
     // 語句..
}

在這里,索引是存儲UTF-8編碼代碼點(diǎn)的第一個字節(jié)的變量,而chr是存儲給定字符串的字符的變量,而str是字符串。

package main

import "fmt"

func main() {

    // 字符串作為for循環(huán)中的范圍
    for i, j := range "XabCd" {
        fmt.Printf("%U 的索引值為 %d\n", j, i)
    }

}

輸出:

U+0058 的索引值為 0
U+0061 的索引值為 1
U+0062 的索引值為 2
U+0043 的索引值為 3
U+0064 的索引值為 4

6.對于map使用for循環(huán): for循環(huán)可以遍歷map的鍵和值對。

語法:

for key, value := range map { 
     // 語句.. 
}
package main

import "fmt"

func main() {

    mmap := map[int]string{
        22: "Geeks",
        33: "GFG",
        44: "nhooo",
    }
    for key, value := range mmap {
        fmt.Println(key, value)
    }
}

輸出:

22 Geeks
33 GFG
44 nhooo

7. For通道: for循環(huán)可以遍歷通道上發(fā)送的順序值,直到關(guān)閉為止。

語法:

for item := range Chnl { 
   // 語句..
}
package main

import "fmt"

func main() {

    // 使用 channel
    chnl := make(chan int)
    go func() {
        chnl <- 100
        chnl <- 1000
        chnl <- 10000
        chnl <- 100000
        close(chnl)
    }()
    for i := range chnl {
        fmt.Println(i)
    }

}

輸出:

100
1000
10000
100000

重要事項(xiàng):

  • 在for循環(huán)的三個語句中不使用括號。

  • 花括號在for循環(huán)中是必需的。

  • 左括號應(yīng)與post語句所在的行相同。

  • 如果數(shù)組,字符串,切片或map集合為空,則for循環(huán)不會拋出錯誤并繼續(xù)其流程。換句話說,如果數(shù)組,字符串,切片或map為nil,則for循環(huán)的迭代次數(shù)為零。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清