变量
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