分支循環

鏈客,專爲開發者而生,有問必答!區塊鏈

此文章來自鏈客區塊鏈技術問答社區,未經容許拒絕轉載。測試

在這裏插入圖片描述

程序的流程控制結構一共有三種:順序結構,選擇結構,循環結構。spa

1、條件語句code

1.1 If語句圖片

語法格式:開發

if 布爾表達式 {rem

/ 在布爾表達式爲 true 時執行 /get

}編譯器

if 布爾表達式 {string

/ 在布爾表達式爲 true 時執行 /

} else {

/ 在布爾表達式爲 false 時執行 /

}

if 布爾表達式1 {

/ 在布爾表達式1爲 true 時執行 /

} else if 布爾表達式2{

/ 在布爾表達式1爲 false ,布爾表達式2爲true時執行 /

} else{

/ 在上面兩個布爾表達式都爲false時,執行/

}

示例代碼:

package main

import "fmt"

func main() {

/ 定義局部變量 /

var a int = 10

/ 使用 if 語句判斷布爾表達式 /

if a < 20 {

/* 若是條件爲 true 則執行如下語句 */

   fmt.Printf("a 小於 20\n" )

}

fmt.Printf("a 的值爲 : %dn", a)

}

若是其中包含一個可選的語句組件(在評估條件以前執行),則還有一個變體。它的語法是

if statement; condition {

}

if condition{

}

示例代碼:

package main

import (

"fmt"

)

func main() {

if num := 10; num % 2 == 0 { //checks if number is even

    fmt.Println(num,"is even")

}  else {

    fmt.Println(num,"is odd")

}

}

須要注意的是,num的定義在if裏,那麼只可以在該if..else語句塊中使用,不然編譯器會報錯的。

1.2 switch 語句

1.2.1 switch的語法

switch是一個條件語句,它計算表達式並將其與可能匹配的列表進行比較,並根據匹配執行代碼塊。它能夠被認爲是一種慣用的方式來寫多個if else子句。

switch 語句用於基於不一樣條件執行不一樣動做,每個 case 分支都是惟一的,從上直下逐一測試,直到匹配爲止。switch 語句執行的過程從上至下,直到找到匹配項,匹配項後面也不須要再加break。

而若是switch沒有表達式,它會匹配true

Go裏面switch默認至關於每一個case最後帶有break,匹配成功後不會自動向下執行其餘case,而是跳出整個switch, 可是可使用fallthrough強制執行後面的case代碼。

變量var1 能夠是任何類型,而 val1 和 val2 則能夠是同類型的任意值。類型不被侷限於常量或整數,但必須是相同的類型;或者最終結果爲相同類型的表達式。您能夠同時測試多個可能符合條件的值,使用逗號分割它們,例如:case val1, val2, val3。

switch var1 {

case val1:

    ...

case val2:

    ...

default:

    ...

}

示例代碼:

package main

import "fmt"

func main() {

/ 定義局部變量 /

var grade string = "B"

var marks int = 90

switch marks {

case 90: grade = "A"

  case 80: grade = "B"

  case 50,60,70 : grade = "C"  //case 後能夠由多個數值

  default: grade = "D"

}

switch {

case grade == "A" :

     fmt.Printf("優秀!\n" )     

  case grade == "B", grade == "C" :

     fmt.Printf("良好\n" )      

  case grade == "D" :

     fmt.Printf("及格\n" )      

  case grade == "F":

     fmt.Printf("不及格\n" )

  default:

     fmt.Printf("差\n" );

}

fmt.Printf("你的等級是 %sn", grade );

}

1.2.2 fallthrough語句

如需貫通後續的case,就添加fallthrough

package main

import (

"fmt"

)

type data [2]int

func main() {

switch x := 5; x {

default:

    fmt.Println(x)

case 5:

    x += 10

    fmt.Println(x)

    fallthrough

case 6:

    x += 20

    fmt.Println(x)



}

}

相關文章
相關標籤/搜索