今天,咱們來看下條件語句和循環語句,學起來!數組
//if
if a%2 == 0 {
println("偶數")
}
//if else
if a%2 == 0 {
println("偶數")
}else {
println("奇數")
}
//多分支
if a > 0 {
println("大於零")
}else if a == 0 {
println("等於零")
}else {
println("小於零")
}
複製代碼
在 if 或 else if 語句中嵌入一個或多個 if 或 else if 語句,形如學習
if a > 0 {
if x {
//...
}else {
//...
}
}else {
//...
}
複製代碼
注意:if 語句沒有圓括號,可是必需要有花括號ui
switch i {
case 0:
fmt.Printf("zero")
case 1:
fmt.Printf("one")
case 2:
fallthrough
case 3:
fmt.Printf("three")
case 4, 5, 6:
fmt.Printf("four, five, six")
default:
fmt.Printf("Default")
}
複製代碼
不知道你們有沒有注意到,switch
語句是沒有break
的,並且還能夠case
多個值。這裏你們會有個疑惑,當i==2時,會輸出什麼,答案是:three。由於若是在case
中明確添加 fallthrough
關鍵字,纔會繼續執行緊跟的下一個case。 注意到一個比較有意思的地方,switch
後面的表達式並非必須的:spa
switch {
case 0 <= Num && Num <= 3:
fmt.Printf("0-3")
case 4 <= Num && Num <= 6:
fmt.Printf("4-6")
case 7 <= Num && Num <= 9:
fmt.Printf("7-9")
default:
fmt.Printf(">9")
}
複製代碼
看了上面代碼,其實這段代碼邏輯與使用if-else
結構等同。 select
你們能夠暫且不用管,到後面我會單獨寫一篇文章介紹的。.net
for語句的三種格式調試
//一、經典的for循環
for i:=0;i<10 ;i++ {
fmt.Printf("%d\n",i)
}
//二、簡潔的for循環
i := 1
for i < 10 {
fmt.Printf("%d\n",i)
i++
}
//三、死循環的for語句
i := 1
for {
if i>5 {
break
}
fmt.Printf("%d\n",i)
i++
}
複製代碼
另外一種用法:for 循環的 range 格式能夠對 slice、map、數組、字符串等進行迭代循環。code
numbers := [6]int{1, 2, 3, 4}
for i, x := range numbers {
fmt.Printf("第 %d 位 x 的值 = %d\n", i, x)
}
複製代碼
不難想到,上面這段代碼的輸出:cdn
第 0 位 x 的值 = 1
第 1 位 x 的值 = 2
第 2 位 x 的值 = 3
第 3 位 x 的值 = 4
第 4 位 x 的值 = 0
第 5 位 x 的值 = 0
複製代碼
注意:go語言中沒有while語句 有循環語句,那就一定要提提循環控制語句:continue、break和goto blog
其中,continue
和
break
和其餘語言的中的用法相似,這裏給出一個goto的使用例子。可是,在實際編寫結構化程序的時候,通常都不主張使用goto語句,否則會給代碼Review和調試程序形成困難。
/* 定義局部變量 */
var a int = 10
/* 循環 */
LOOP: for a < 20 {
if a == 15 {
/* 跳過迭代 */
a = a + 1
goto LOOP
}
fmt.Printf("a的值爲 : %d\n", a)
a++
}
複製代碼
輸出:three
a的值爲 : 10
a的值爲 : 11
a的值爲 : 12
a的值爲 : 13
a的值爲 : 14
a的值爲 : 16
a的值爲 : 17
a的值爲 : 18
a的值爲 : 19
複製代碼
看到這裏,對於Go的運算符、條件語句和循環語句有了大概的瞭解。從其餘語言轉學Go的同窗,能夠比較下這部分語法跟你以前掌握的語言的異同。好比以前掌握Java、PHP或者C,就能夠對比下這部分,這樣對比學習能夠加深對知識的理解,可以更快掌握。無論以前有沒有開發語言的基礎,學習一門新語言的重點仍是本身要多多練習。
關注公衆號「Golang來啦」,獲取最新文章!原創文章,若需轉載請註明出處!
歡迎掃碼關注公衆號「Golang來啦」或者移步 seekload.net ,查看更多精彩文章。