欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          go語(yǔ)言有沒(méi)有while

          go語(yǔ)言中沒(méi)有while關(guān)鍵字,不支持while和do-while循環(huán)結(jié)構(gòu)。從功能上講,但凡while語(yǔ)句能做的事情,for語(yǔ)句也可以實(shí)現(xiàn),因此Go語(yǔ)言統(tǒng)一了for語(yǔ)句和while語(yǔ)句。且Go的開(kāi)發(fā)團(tuán)隊(duì)有比較嚴(yán)重的潔癖,while并不是一個(gè)必要選項(xiàng),提供多種方式讓開(kāi)發(fā)者選擇,容易讓開(kāi)發(fā)者迷路,產(chǎn)生選擇困難;所以干脆不給選擇的機(jī)會(huì),強(qiáng)制讓大家統(tǒng)一風(fēng)格。

          go語(yǔ)言有沒(méi)有while

          本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。

          go語(yǔ)言中沒(méi)有while關(guān)鍵字,,不支持while和do-while循環(huán)結(jié)構(gòu)。

          循環(huán)語(yǔ)句用于重復(fù)執(zhí)行某些程序中的語(yǔ)句。

          編程語(yǔ)言中常見(jiàn)的循環(huán)語(yǔ)句包括while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句。但是Go語(yǔ)言中僅有for語(yǔ)言,沒(méi)有while語(yǔ)句。從功能上講,但凡while語(yǔ)句能做的事情,for語(yǔ)句也可以實(shí)現(xiàn)。因此Go語(yǔ)言統(tǒng)一了for語(yǔ)句和while語(yǔ)句。

          且Go的開(kāi)發(fā)團(tuán)隊(duì)有比較嚴(yán)重的潔癖,while 并不是一個(gè)必要選項(xiàng),提供多種方式讓開(kāi)發(fā)者選擇,容易讓開(kāi)發(fā)者迷路,產(chǎn)生選擇困難;所以干脆不給選擇的機(jī)會(huì),強(qiáng)制讓大家統(tǒng)一風(fēng)格。

          for語(yǔ)句

          Go語(yǔ)言的for語(yǔ)句一共有三種:

          第一種:

          for init; condition; post { 	...	 }
          登錄后復(fù)制

          • init 一般為賦值表達(dá)式,用于循環(huán)控制變量及其他變量初始化。
          • condition 關(guān)系表達(dá)式和邏輯表達(dá)式,用于指示循環(huán)控制條件。
          • post 一般為賦值表達(dá)式,用于增減循環(huán)控制變量

          以上三點(diǎn)等價(jià)于其他編程語(yǔ)言的for語(yǔ)句,因此第一種寫(xiě)法等價(jià)于其他語(yǔ)言的for語(yǔ)句。

          第二種:

          for condition { 	... }
          登錄后復(fù)制

          第二種寫(xiě)法等價(jià)于其他語(yǔ)言的while語(yǔ)句。因?yàn)镚o的for語(yǔ)句使不寫(xiě)括號(hào)的,因此刪掉initpost就完全等價(jià)于了while語(yǔ)句。因此Go沒(méi)有引入while這個(gè)關(guān)鍵字,直接使用for語(yǔ)句實(shí)現(xiàn)while語(yǔ)句。

          第三種:

          for { 	... }
          登錄后復(fù)制

          第三種寫(xiě)法等價(jià)于其他語(yǔ)言的for(;;),也等價(jià)于while(true)

          實(shí)例:

          package main  import "fmt"  func main() { 	res := 1 	n := 10  	for i:=1; i<=n; i++ { 		res *= i 	} 	fmt.Println(n,"的階乘是",res) }  // 10 的階乘是 3628800
          登錄后復(fù)制

          for-each range

          Go語(yǔ)言中for循環(huán)的range格式可以迭代slice、map、數(shù)組、字符串等類型,格式如下:

          for k, v := range oldMap { 	newMap[k] = v }
          登錄后復(fù)制

          實(shí)例:

          package main  import "fmt"  func main() { 	nums := [5]int{1, 2, 3, 4, 5} 	for i,e := range nums { 		fmt.Println("索引", i, "位置上的數(shù)值為", e) 	} }  // 索引 0 位置上的數(shù)值為 1 // 索引 1 位置上的數(shù)值為 2 // 索引 2 位置上的數(shù)值為 3 // 索引 3 位置上的數(shù)值為 4 // 索引 4 位置上的數(shù)值為 5
          登錄后復(fù)制

          同Python,Go語(yǔ)言也使用下劃線_來(lái)接住不需要的返回值。

          for _,e := range nums { 	... }
          登錄后復(fù)制

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)