if ... else 表示式
朱莉婭最常見的條件是 if … else 表示式。例如,下面我們實現歐幾里德演算法來計算最大公約數 ,使用條件來處理基本情況:
mygcd(a, b) = if a == 0
abs(b)
else
mygcd(b % a, a)
end
朱莉婭中的 if … else 形式實際上是一個表示式,並且具有一個值; 該值是所採用分支上的尾部位置(即最後一個表示式)中的表示式。請考慮以下示例輸入:
julia> mygcd(0, -10)
10
在這裡,a 是 0 而 b 是 -10。條件 a == 0 是 true,所以第一個分支被採用。返回的值是 abs(b),即 10。
julia> mygcd(2, 3)
1
在這裡,a 是 2,b 是 3。條件 a == 0 是假的,所以第二個分支被採用,我們計算 mygcd(b % a, a),即 mygcd(3 % 2, 2)。當 3 除以 2 時,%運算子返回餘數,在這種情況下 1。因此我們計算 mygcd(1, 2),這次 a 是 1 而 b 是 2。再次,a == 0 是假的,所以第二個分支被採用,我們計算 mygcd(b % a, a),這是 mygcd(0, 1)。這次,a == 0 終於返回了 abs(b),結果是 1。