條件語句和循環語句--就要學習 Go 語言

前言

今天,咱們來看下條件語句和循環語句,學起來!數組

條件語句

if語句

//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

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循環
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 的值 = 11 位 x 的值 = 22 位 x 的值 = 33 位 x 的值 = 44 位 x 的值 = 05 位 x 的值 = 0
複製代碼

注意:go語言中沒有while語句 有循環語句,那就一定要提提循環控制語句:continue、breakgoto blog

其中, continuebreak和其餘語言的中的用法相似,這裏給出一個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來啦」或者移步 seekload.net ,查看更多精彩文章。

公衆號二維碼
關注公衆號「Golang來啦」,獲取最新文章!
相關文章
相關標籤/搜索