MoonBit 语言导览 MoonBit

变量

let 关键字用于在 MoonBit 中定义变量。

类型注解

你可以通过在变量名后使用冒号和类型名来指定变量的类型。类型注解是可选的——如果不提供,MoonBit 会自动从赋值中推断类型。

在不希望定义额外的变量时,也可以通过语法(表达式 : 类型)来对任意表达式添加类型注解。

可变性

MoonBit 中的变量默认是不可变的,这意味着它们在初始化后不能被重新赋值。要创建可以被重新赋值的可变变量,请在变量名前添加 mut 关键字。

作用域

你可以在顶层作用域或局部作用域(函数或代码块内)定义变量。 在代码块(由 {} 包围)中定义的变量只能在该代码块及其嵌套代码块内访问,在顶层作用域中定义的变量可以在整个程序中访问。

///|
fn main {
  // 显式类型注解
  let a : Int = 10
  println((10 : Int))

  // 使用类型推断的变量(从值 20 推断出 Int 类型)
  let b = 20
  println(a + b)

  // 可变变量 - 可以被修改
  let mut c = 10
  c = c + 1
  println(c)

  // 不可变变量 - 不能被修改
  let d = 20
  println(d)
  // d = d + 1  // 取消注释这行会导致编译错误

  {
    let e = 100
    println(e)
  }
  // println(e) // 取消注释这行会导致编译错误

  // 访问顶层变量
  println(f)
}

///|
/// 在顶层作用域定义变量
let f : Double = 3.14