类型系统与推断
内建类型
- 整数:
i64(默认推断)、i32 - 浮点:
float、double - 布尔:
bool(i1) - 字符:
char(i8) - 字符串:
string(值类型结构体,内部含数据指针/长度/容量)
类型推断
- 整数字面量默认
i64。 - 字符串字面量推断为值类型
string,赋给变量时会自动分配一份结构体。 - 省略类型的
let/const会从初始化表达式推断。
引用与值语义
- 基础标量按值传递。
string与自定义class/struct默认作为引用语义对象传递(内部是指针)。- 类型注解后置:
let s: string = "hi";
类型断言/转换
as:expr as Type支持整数位宽扩展/截断、指针互转、指针与整数互转。- 配合取址:
(objof(addrof(x))) as i64得到地址整数,或(objof(addr) as MyStruct)解引用为结构体。
计划中的类型能力
- 包装类型(
Int/Double/Bool)提供对象式 API。 - 数组、记录、异步相关类型。
- 模块/类的类型导出与声明文件(规划中)。