函數與變數
介紹
Wave 程式語言的核心設計哲學是實現低階性能與高階抽象之間的平衡,為軟體開發提供高效且靈活的環境。 本節將介紹 Wave 程式的基本組成元素,即函數與變數。這些元素對於在程式內組織邏輯與管理資料至關重要。 了解如何定義與處理函數和變數,能幫助您充分發揮 Wave 的潛力。
函數
在 Wave 中,函數扮演著 可重用的程式區塊 角色,能獨立執行。 函數封裝了特定的操作,並可以在程式中隨時調用。 這使得進行計算、管理 I/O 操作或將程式碼分割成更易管理的單位成為可能。
在 Wave 中,函數的簽名由 fun
關鍵字開始,並由函數名稱、(如有)參數以及用大括號 {}
包裹的函數本體組成。
定義函數
在 Wave 中,基本的函數定義如下:
fun main() {
// 在這裡寫入程式碼
}
main
函數是程式執行的入口點,總是需要存在。- 函數可以有參數,並且可以返回值。返回的類型在函數名稱後面指定。
範例:簡單函數
fun add(a :i32, b :i32) -> i32 {
return a + b;
}
fun main() {
var result = add(5, 7); // 調用 add 函數
println(result); // 輸出: 12
}
在上述範例中:
add
函數接受兩個整數a
和b
,並返回它們的和。main
函數調用add
並輸出結果。
變數
變數用於在程式中存儲和操作資料。 Wave 支援在變數宣告時使用 可變變數 和 不可變變數,從而提供了對資料管理的開發者控制權。
可變變數
在 Wave 中,變數默認是 可變的(mutable),即在程式執行期間可以改變其值。
可變變數使用 var
關鍵字來宣告。
var x :i32 = 10; // 可變變數
x = 20;
在這個範例中:
x
是一個可變變數,初值為10
,並且可以在後續變更為20
。
不可變變數
如果將變數宣告為 不可變(immutable),則在賦值後不能更改其值。
不可變變數使用 var imm
關鍵字來宣告。
var imm y :i32 = 5; // 不可變變數
// y = 10; // 錯誤: 不可變變數的值無法更改
在這裡:
y
是不可變變數,若嘗試更改其值,將會產生編譯錯誤。
變數宣告範例
以下是不同類型的可變和不可變變數宣告範例:
var x :i32 = 10; // 可變整 數變數
var imm y :f64 = 3.14159; // 不可變浮點數變數
var name :str = "Wave"; // 可變字串變數
var imm is_active :bool = true; // 不可變布林變數
x
是可變整數。y
是不可變浮點數。name
是可變字串。is_active
是不可變布林值。
在 Wave 中,我們使用 var
關鍵字來宣告可變變數,而使用 var imm
關鍵字來宣告初始化後不能更改的不可變變數。
透過區分可變變數和不可變變數,Wave 能夠更有效地控制資料一致性與程式狀態,幫助開發者編寫更健壯且可預測的程式碼。