关键字¶
变量声明与初始化¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| var | variable | 声明完全可变变量(隐含 mut) |
| val | value | 声明逻辑不可变变量 |
| imv | immutable variable | 声明物理不可变变量(隐含 imm) |
| ref | reference | 声明引用变量 |
| lit | literal | 声明编译期常量 |
| fin | final variable | 声明禁止重新绑定的变量 |
| late | late | 标记变量为手动延迟初始化 |
| lazy | lazy | 标记变量为懒加载初始化 |
| restrict | restrict | 指针限定符 |
| let | expression | 定义表达式 |
| obj | dynamically typed variable | 声明或定义动态类型变量 |
函数与纯度¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| def | define | 定义纯函数 |
| fun | function | 定义逻辑纯函数 |
| act | action | 定义副作用函数 |
| once? | once (soft) | 修饰 act,再次调用时忽略 |
| once! | once (strict) | 修饰 act,再次调用时报错 |
| unsafe | unsafe | 修饰 fun,声明可回滚副作用(需权限列表与回滚块) |
| ovl | overload | 标记函数允许重载(所有重载变体均需标记) |
| where | where | 对函数参数或泛型进行范围限定 |
异步与等待¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| async | async | 异步函数修饰 |
| await | await | 异步等待 |
权限与效应¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| permission | permission | 定义权限 |
| aka | aka | 权限别名 |
| yields | yields | 权限传播 |
类型与访问修饰符¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| mut | mutable | 类型修饰:完全可变 |
| imm | immutable | 类型修饰:物理不可变 |
| ro | read-only | 访问修饰:只读 |
| wo | write-only | 访问修饰:只写 |
| rw | read-write | 访问修饰:读写 |
| rx | read-execute | 访问修饰:读执行 |
注意:
var隐含了mut,imv隐含了imm。在声明变量时重复使用这些修饰符(如var mut)会导致编译错误。
类型与单位¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| unit | unit | 空类型 |
| measure | measure | 定义量纲 |
内置类型¶
| 关键字 | 用法 |
|---|---|
| bool | 布尔类型 |
| flag | 标志位类型 |
| byte | 字节类型 |
| char | Unicode 字符 |
| ascii | ASCII 字符 |
| char8/16/32 | 字符类型 |
| str | 字符串 |
| str8/16/32 | UTF 编码字符串 |
| cstr | C 字符串 |
| cstr8/16/32 | UTF 编码 C 字符串 |
| bytes | 字节数组 |
| int/uint | 编译期整数 |
| float | 编译期浮点 |
| i8/16/32/64 ... | 整数类型 |
| u8/16/32/64 ... | 无符号整数 |
| f16/32/64/128 | 浮点类型 |
| usize/isize | 平台字长整数 |
| b8/16/32/64 ... | 二进制类型 |
| flag8/16/32/64 ... | 标志位类型 |
| byte1/2/4/8 ... | 字节类型扩展 |
| iN/uN/fN | 位宽扩展类型 |
| iNle/uNle/fNle | 小端类型 |
| iNbe/uNbe/fNbe | 大端类型 |
控制流程与逻辑¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| if | if | 条件分支 |
| else | else | 否则 |
| elif | else if | 否则如果 |
| then | then | 条件成立时执行 |
| switch | switch | 多分支选择 |
| match | match | 模式匹配 |
| for | for loop | 循环 |
| while | while loop | 循环 |
| do | do while loop | 循环 |
| break | break | 跳出循环 |
| continue | continue | 跳过本次循环 |
| leave | leave | 跳出当前块(如 switch) |
| goto | goto | 跳转 |
| return | return | 返回 |
| breaked | breaked | 循环中断分支 |
异常与错误处理¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| try | try | 尝试块 |
| catch | catch | 捕获块 |
| or | or | 异常分支 |
| throw | throw | 抛出异常 |
类型转换与判断¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| as | as | 类型转换 |
| in | in | 单位换算 |
| is | is | 类型或状态判断 |
断言与静态检查¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| assert | assert | 断言检查 |
| assume | assume | 静态假设条件成立 |
泛型与模板¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| template | template | 模板/泛型声明 |
| typename | typename | 类型参数 |
| variant | variant | 代数类型 |
类型类别¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| inttype | inttype | 整数类型类别 |
| floattype | floattype | 浮点类型类别 |
| numtype | numtype | 数字类型类别 |
语法辅助与保留¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| with | with | 捕获列表语法 |
| from | from | 语法辅助/预留 |
| to | to | 语法辅助/预留 |
| using | using | 语法辅助/预留 |
| of | of | 语法辅助/预留 |
| by | by | 枚举值类型约束 |
模块与结构¶
| 关键字 | 全称 | 用法 |
|---|---|---|
| namespace | namespace | 命名空间 |
| use | use | 导入模块或定义别名 |
| struct | struct | 结构体 |
| class | class | 类 |
| enum | enum | 枚举 |
| union | union | 联合体 |
| impl | implement | 实现接口或方法 |
| initvar | initvar | 变量列表初始化钩子 |
相关内容:语法总览见 语法。