05.02-If
讓我們來修改之前寫的程式,改為在每行印出數字 1 到 10,並指出該數字是奇數(odd)或偶數(even),像是這樣:
首先,我們需要一種方法來定義數字是奇數還是偶數,一個簡單的方式是將這個數字除以 2,如果餘數是 0,則為偶數;否則就是奇數。因此我們如何用 Go 找出除法的餘數呢?我們會用 %
運算符,1 % 2
等於 1
、2 % 2
等於 0
、 3 % 2
等於 1
諸如此類。
接著我們需要一種方法,可以透過條件選擇不同的事物,我們可以用 if
statement:
if
statement 類似 for
statement,裡頭會有一個條件判斷式,並接著一個程式區塊。If statements 也有一個選配的 else
。如果條件判斷式為 true
,那麼會執行條件判斷式後面的程式碼,否則會跳過該程式碼區塊。若有 else
的話,則會執行 else 後面的程式碼區塊。
If statements 也可以有 else if
:
條件判斷式是由上而下進行檢查的,若第一個結果為真,則會執行相對應的程式碼區塊,而其它的區塊則都不會執行,即使那些區塊的條件判斷式也會成立。(比如:4 跟 2 都可以整除 8,但是 // divisible by 4
這個區塊絕對不會執行,原因是會先執行 // divisible by 2
)
將這些串在一起,我們會得到:
我們從新看一次這整個程式:
建立一個型別為 int 的變數
i
,並給定一個值1
i
是否小於或等於10
呢?是的:進入該程式碼區塊。i
÷2
的餘數是否等於0
呢?否:進入else
程式碼區塊。在
i
後面印出odd
加上
i
(在條件式之後的 statement)i
是否小於或等於10
呢?是的:進入該程式區塊。i
÷2
的餘數是否等於0
呢?是的:進入if
程式碼區塊。在
i
後面印出even
…
餘數運算符,國小畢業之後就很少看到了,結果在程式設計時真的很有幫助,你從 zebra striping tables 到 partitioning data sets 裡到處都可以看到它。
Last updated