函數與變數
介紹
Wave 程式語言的核心設計哲學是在 低層次效能 與 高層次抽象 之間取得平衡,為軟體開發提供高效且靈活的環境。 本節將介紹 Wave 程式的基本組成要素:函數 和 變數,它們是構建邏輯與管理數據的關鍵。 理解如何定義與操作函數和變數,將能幫助您充分發揮 Wave 的潛力。
函數
在 Wave 中,函數是可以獨立執行的 可重複使用的代碼塊。 函數能封裝特定操作,並可在整個程式中按需調用,實現計算、處理 I/O 操作,或將代碼分為更易於管理的模組。
Wave 中的函數結構以 fun
關鍵字開頭,包括函數名稱、參數(如有),以及用 {}
包裹的函數主體。
定義函數
以下是定義基本函數的方式:
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 透過將變數區分為可變與不可變,提供了更好的數據一致性與程式狀態管理能力。 這能幫助開發者撰寫更穩健且可預測的代碼。