久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      golang流程控制語句有哪些

      流程控制語句:1、if語句,由一個(gè)布爾表達(dá)式后緊跟一個(gè)或多個(gè)語句組成;2、“if…else”語句,else中的表達(dá)式在布爾表達(dá)式為false時(shí)執(zhí)行;3、switch語句,用于基于不同條件執(zhí)行不同動(dòng)作;4、select語句;5、for循環(huán)語句,語法“for k,v := range oldmap{newmap[k]=v}”;6、循環(huán)控制語句break、continue、goto。

      golang流程控制語句有哪些

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

      下面我們了解一下關(guān)于golang流程控制語句的基本內(nèi)容。

      1、條件分支語句

      和c語言類似,相關(guān)的條件語句如下表所示:

      語句 描述
      if 語句 if 語句 由一個(gè)布爾表達(dá)式后緊跟一個(gè)或多個(gè)語句組成。
      if…else 語句 if 語句 后可以使用可選的 else 語句, else 語句中的表達(dá)式在布爾表達(dá)式為 false 時(shí)執(zhí)行。
      switch 語句 switch 語句用于基于不同條件執(zhí)行不同動(dòng)作。
      select 語句 select 語句類似于 switch 語句,但是select會(huì)隨機(jī)執(zhí)行一個(gè)可運(yùn)行的case。如果沒有case可運(yùn)行,它將阻塞,直到有case可運(yùn)行。
      • if語句
        語法如下:

      if 布爾表達(dá)式 {    /* 在布爾表達(dá)式為 true 時(shí)執(zhí)行 */ }
      登錄后復(fù)制

      • if-else語句

      if 布爾表達(dá)式 {    /* 在布爾表達(dá)式為 true 時(shí)執(zhí)行 */ } else { 	/* 在布爾表達(dá)式為 false 時(shí)執(zhí)行 */ }
      登錄后復(fù)制

      • switch語句
        其中的變量v可以是任何類型,val1val2可以是同類型的任意值,類型不局限為常量或者整數(shù),或者最終結(jié)果為相同類型的表達(dá)式。

      switch v {     case val1:         ...     case val2:         ...     default:         ... }
      登錄后復(fù)制

      • select語句
        select 是 Go 中的一個(gè)控制結(jié)構(gòu),類似于用于通信的 switch 語句。每個(gè) case 必須是一個(gè)通信操作,要么是發(fā)送要么是接收。它將會(huì)隨機(jī)執(zhí)行一個(gè)可運(yùn)行的 case。如果沒有 case 可運(yùn)行,它將阻塞,直到有 case 可運(yùn)行。一個(gè)默認(rèn)的子句應(yīng)該總是可運(yùn)行的。

      select {     case communication clause  :        statement(s);           case communication clause  :        statement(s);     /* 你可以定義任意數(shù)量的 case */     default : /* 可選 */        statement(s); }
      登錄后復(fù)制

      注意:

      • 每個(gè)case必須都是一個(gè)通信
      • 所有channel表達(dá)式都會(huì)被求值,所有被發(fā)送的表達(dá)式都會(huì)被求值
      • 如果任意某一個(gè)通信都可以,它就執(zhí)行,其他就忽略
      • 如果有多個(gè)case都可以運(yùn)行,select就會(huì)隨機(jī)挑選一個(gè)來執(zhí)行。
      • 如果沒有一個(gè)case可以被運(yùn)行:如果有default子句,就執(zhí)行default子句,select將被阻塞,直到某個(gè)通信可以運(yùn)行,從而避免饑餓問題。

      2、循環(huán)語句

      2.1 循環(huán)處理語句

      與多數(shù)語言不同的是,Go語言中的循環(huán)語句只支持 for 關(guān)鍵字,而不支持 while 和 do-while 結(jié)構(gòu),關(guān)鍵字 for 的基本使用方法與C語言和 C++ 中非常接近。

      go中時(shí)使用for實(shí)現(xiàn)循環(huán)的,共有三種形式:

      語法
      和c語言中的for相同 for init; condition; post {}
      和c語言中的while相同 for condition{}
      和c語言中的for(;;)相同 for{}

      除此以外,for循環(huán)還可以直接使用range對(duì)slice、map、數(shù)組以及字符串等進(jìn)行迭代循環(huán),格式如下:

      for key, value := range oldmap { 	newmap[key] = value }
      登錄后復(fù)制

      2.2 循環(huán)控制語句

      控制語句 詳解
      break 中斷跳出循環(huán)或者switch語句
      continue 跳過當(dāng)前循環(huán)的剩余語句,然后繼續(xù)下一輪循環(huán)
      goto語句 將控制轉(zhuǎn)移到被標(biāo)記的語句

      1、break

      break主要用于循環(huán)語句跳出循環(huán),和c語言中的使用方式是相同的。且在多重循環(huán)的時(shí)候還可以使用label標(biāo)出想要break的循環(huán)。
      實(shí)例代碼如下:

      a := 0 for a<5 { 	fmt.Printf("%dn", a) 	a++ 	if a==2 { 		break; 	} } /* output 0 1 2 */
      登錄后復(fù)制

      2、continue

      Go 語言的 continue 語句 有點(diǎn)像 break 語句。但是 continue 不是跳出循環(huán),而是跳過當(dāng)前循環(huán)執(zhí)行下一次循環(huán)語句。在多重循環(huán)中,可以用標(biāo)號(hào) label 標(biāo)出想 continue 的循環(huán)。
      實(shí)例代碼如下:

          // 不使用標(biāo)記     fmt.Println("---- continue ---- ")     for i := 1; i <= 3; i++ {         fmt.Printf("i: %dn", i)             for i2 := 11; i2 <= 13; i2++ {                 fmt.Printf("i2: %dn", i2)                 continue             }     }  /* output i: 1 i2: 11 i2: 12 i2: 13 i: 2 i2: 11 i2: 12 i2: 13 i: 3 i2: 11 i2: 12 i2: 13 */      // 使用標(biāo)記     fmt.Println("---- continue label ----")     re:         for i := 1; i <= 3; i++ {             fmt.Printf("i: %d", i)                 for i2 := 11; i2 <= 13; i2++ {                     fmt.Printf("i2: %dn", i2)                     continue re                 }         }  /* output i: 1 i2: 11 i: 2 i2: 11 i: 3 i2: 11 */
      登錄后復(fù)制

      3、goto

      goto語句主要是無條件轉(zhuǎn)移到過程中指定的行。goto語句通常和條件語句配合使用,可用來實(shí)現(xiàn)條件轉(zhuǎn)移、構(gòu)成循環(huán)以及跳出循環(huán)體等功能。但是并不主張使用goto語句,以免造成程序流程混亂。
      示例代碼如下:

      var a int = 0 LOOP: for a<5 { 	if a == 2 { 		a = a+1 		goto LOOP 	} 	fmt.Printf("%dn", a) 	a++ }  /* output: 0 1 2 3 4 */
      登錄后復(fù)制

      以上代碼中的LOOP就是一個(gè)標(biāo)簽,當(dāng)運(yùn)行到goto語句的時(shí)候,此時(shí)執(zhí)行流就會(huì)跳轉(zhuǎn)到LOOP標(biāo)志的哪一行上。

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