跳到主要内容

函数和变量

介绍

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 函数接受两个整数 ab,返回它们的和。
  • main 函数调用 add 并输出结果。

变量

变量用于在程序中存储和操作数据。 Wave在变量声明中支持可变变量不可变变量,为开发者提供了对数据管理的控制权。

可变变量

在Wave中,变量默认是**可变(mutable)**的。 即,在程序运行中值可以改变。

可变变量用var关键字声明。

var x :i32 = 10; // 可变变量
x = 20;

在上述示例中:

  • x 是可变变量,初始值为 10,之后可以更改为 20

不可变变量

将变量声明为**不可变(immutable)**后,值在分配一次之后无法更改。

不可变变量用let关键字声明。

let y :i32 = 5;         // 不可变变量
// y = 10; // 错误:不可变变量不能更改值。

这里:

  • y 是不可变变量,尝试更改值将导致编译错误。

但是如果想在let关键词中用作可变变量,可以使用mut将其用作临时可变变量。

let mut y :i32 = 5;
y = 10;

变量声明示例

以下是声明各种类型可变和不可变变量的示例:

var x :i32 = 10;                    // 可变整数变量
let y :f64 = 3.14159; // 不可变浮点变量
var name :str = "Wave"; // 可变字符串变量
let is_active :bool = true; // 不可变逻辑变量
  • x 是可变整数。
  • y 是不可变浮点数。
  • name 是可变字符串。
  • is_active 是不可变逻辑值。

在Wave中,使用var关键字声明可变变量,使用let关键字声明在初始赋值后不可更改的不可变变量。

通过区分可变变量和不可变变量,Wave可以更有效地控制数据一致性和程序状态。 从而可以编写更稳固和可预测的代码。