亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

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.簡(jiǎn)單的for循環(huán)我們?cè)谄渌幊陶Z言(例如C,C ++,Java,C#等)中使用的相似。

語法:

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

這里,

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

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

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

//使用for循環(huán)  
package main 
  
import "fmt"
  
//主函數(shù) 
func main() { 
      
    // for 循環(huán)
        //這個(gè)循環(huán)在i = 0時(shí)開始執(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)中刪除所有三個(gè)表達(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時(shí),循環(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)中的簡(jiǎn)單范圍:您也可以在for循環(huán)中使用范圍。

語法:

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

這里,

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

  • 第二個(gè)變量,即j是可選的。

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

package main 
  
import "fmt"

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

輸出:

0 GFG
1 Geeks
2 nhooo

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

語法:

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

在這里,索引是存儲(chǔ)UTF-8編碼代碼點(diǎn)的第一個(gè)字節(jié)的變量,而chr是存儲(chǔ)給定字符串的字符的變量,而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.對(duì)于map使用for循環(huán): for循環(huán)可以遍歷map的鍵和值對(duì)。

語法:

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)的三個(gè)語句中不使用括號(hào)。

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

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

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