Skip to content

变量

在Sway中,变量默认是不可变的(immutable)。这意味着声明后,变量的值不能改变。这种特性使得Sway支持安全编程,许多现代语言也采用了这种默认行为。

让我们来一探究竟。

声明变量

让我们看一个变量声明的例子:

sway
let foo = 5;

很棒!我们刚刚声明了一个变量 foo。关于 foo 我们知道些什么?

  1. 它是不可变的。
  2. 它的值是 5.
  3. 它的类型是 u64, 即64位无符号整数。

u64 是默认的数值类型,表示64位无符号整数。更多关于内置类型的细节,可以在 Built-in Types章节查看.

我们也可以创建一个可变变量。让我们看一下:

sway
let mut foo = 5;
foo = 6;

现在,foo可变的(mutate),可以被赋值为6,即允许对其值进行修改

类型注解

变量声明可以包含一个类型注解(type annotation)。类型注解用于声明变量的类型以及其值。

例如:

sway
let foo: u32 = 5;

这里我们明确地声明foo的类型为u32,即32位无符号整数。下面是一些其他类型的类型注解示例:

sway
let bar: str[4] = __to_str_array("sway");
let baz: bool = true;

如果声明的值与声明的类型不符,编译器将会生成错误。