Skip to content

变量和赋值

在 Move 语言中,变量 是用来存储数据的容器。它们就像一个个盒子,可以存放不同类型的值,例如数字、字符串、布尔值等等。赋值 就是将一个值放入变量的盒子中。

声明变量

在 Move 中,使用 let 关键字来声明一个变量。后面跟着变量名、类型(可选)和要赋的值,以分号结尾。

语法

move
let <变量名>[: <类型>] = <表达式>;

例子

move
// 声明一个名为 x 的变量,类型为 u64,值为 10
let x: u64 = 10;

// 声明一个名为 y 的变量,类型为 String,值为 "Hello"
let y: String = b"Hello".to_string();

// 声明一个名为 z 的变量,类型由编译器推断,值为 true
let z = true;

类型推断

  • 在上面的例子中,变量 z 的类型没有显式声明,编译器会根据赋给它的值自动推断出它的类型为 bool
  • 这在 Move 中被称为 类型推断,它可以让我们少写一些代码,但前提是编译器能够准确地推断出变量的类型。

可变性

  • 默认情况下,Move 中的变量是 不可变的,这意味着一旦声明并赋值后,就不能再改变它的值。
  • 如果需要声明一个可以改变值的变量,需要在 let 关键字后面加上 mut 关键字。

例子

move
// 声明一个名为 a 的可变变量,类型为 u64,值为 10
let mut a: u64 = 10;

// 修改 a 的值
a = 20;

赋值

使用 = 运算符

使用 = 运算符将一个值赋给一个变量。

例子

move
let b = 5; 
let mut c = 10; 
c = b + 5;

注意事项

  • 赋值操作的目标必须是一个 可变变量,否则编译器会报错。
  • 赋值操作的左右两边的类型必须 匹配,否则编译器也会报错。

总结

  • 变量是存储数据的容器,使用 let 关键字声明。
  • 变量可以是可变的(mut)或不可变的。
  • 使用 = 运算符将值赋给变量。