基础值
Vela 是动态语言,但基础值有明确的运行时标签。这样宿主转换、反射、字节码 guard 和后续优化都能基于稳定的基础类型工作,而不需要脚本语言泛型。
基础类型集合
Section titled “基础类型集合”基础值包括 ()、bool、char、有符号整数 i8 到 i64、无符号整数 u8 到 u64、浮点数 f32 和 f64、String、Bytes。
let enabled = truelet letter = 'A'let count = 12i64let ratio = 0.25f64let label = "ready"let packet = b"\x01\x02"没有后缀的整数字面量在没有更具体上下文时默认是 i64。没有后缀的浮点字面量默认是 f64。带提示的参数、字段或局部变量可以给字面量提供上下文,但运算符不会做隐式拓宽或整数到浮点的转换。
fn add_i32(lhs: i32, rhs: i32) -> i32 { return lhs + rhs}
fn main() -> i32 { return add_i32(1, 2)}() 是 unit 值,表示没有有意义的结果,例如空块、只有语句的块,或只产生副作用的修改 helper。预期缺失使用 Option,可恢复失败使用 Result。
fn mark_checked(enabled: bool) -> () { if enabled { () } return}基础类型提示是契约,不是转换。1i32 + 2i64 在静态已知时是错误;动态值发生同样不匹配时会在运行时报错。整数溢出也是错误;显式 wrapping 和转换能力属于标准库 API。