Skip to content

类型系统与推断

内建类型

  • 整数:i64(默认推断)、i32
  • 浮点:floatdouble
  • 布尔:booli1
  • 字符:chari8
  • 字符串:string(值类型结构体,内部含数据指针/长度/容量)

类型推断

  • 整数字面量默认 i64
  • 字符串字面量推断为值类型 string,赋给变量时会自动分配一份结构体。
  • 省略类型的 let/const 会从初始化表达式推断。

引用与值语义

  • 基础标量按值传递。
  • string 与自定义 class/struct 默认作为引用语义对象传递(内部是指针)。
  • 类型注解后置:let s: string = "hi";

类型断言/转换

  • asexpr as Type 支持整数位宽扩展/截断、指针互转、指针与整数互转。
  • 配合取址:(objof(addrof(x))) as i64 得到地址整数,或 (objof(addr) as MyStruct) 解引用为结构体。

计划中的类型能力

  • 包装类型(Int/Double/Bool)提供对象式 API。
  • 数组、记录、异步相关类型。
  • 模块/类的类型导出与声明文件(规划中)。