保留字与陷阱
保留字地雷
这些是关键字,不能当变量名 / 字段名 / 参数名,否则报「意外的标记」。最常被误用的:
结果 类型 选项 通道 尝试 捕获 抛出 最终
继续 跳出 返回 等待 异步 新建 选择 情况 在 作为 未来中文母语者很自然会想用 变量 结果 = ... / 变量 类型: 字符串 —— 会失败。改用别名:计算结果 / 结果值 / 类型名 / 数据类型。
编译器会给 rustc 风格错误,看到「X 是 qi 的保留字」就换个名。为什么不能降级成上下文关键字
结果<T,E> / 选项<T> / 通道<T> / 未来<T> 是泛型类型语法,把这些词当标识符会和 < 产生不可消解的 LALR(1) 歧义(名字<T> 泛型 vs 名字 < 表达式 比较)——这是解析器的理论限制(C++ 著名的「most vexing parse」)。
其他注意
- 通用动词
关闭打开读取长度现在可自由当函数名(不再被劫持),文件操作用完整名打开文件/关闭文件。 - 打印用
IO.打印行/IO.打印。