rust
关键字
| 关键字 | 作用 |
|---|---|
let |
变量声明,重复声明相同变量时会遮蔽原变量 |
mut |
可变变量声明,创建可变引用时也需要加上此关键字 |
& |
创建引用,通过借用所有权,防止变量被调用者释放 |
T |
类型,通过:放在变量名后进行声明 |
:: |
调用类方法或模块下暴露的函数;访问子模块或模块函数 |
. |
调用类函数 |
_ |
不接收值时的占位符;循环默认值;泛型推到占位符;不使用形参的前缀 |
match |
右侧匹配变量,大括号内匹配目标,目标后接 => 进行后续逻辑 |
? |
跟在调用方法括号后,语法糖简化异常处理,默认失败时,抛出Err异常给上一级调用者 |
依赖关键字
| 依赖相关的关键字 | 作用 |
|---|---|
mod |
定义模块,内容放在模块名后的{} |
pub |
改变默认私有的方法或模块对外可见性 |
use |
导入模块或函数;pub use 可重导出,提升子模块的方法到上级模块 |
as |
可对子模块进行重命名 |
crate、self、super |
代表模块的相对位置 |
工程结构
Rust模块化编程中有两个重要的术语:crate和module。
crate可以翻译为包,module(模块)可以将crate中的代码按功能进行分组,以提高可读性与重用性。
模块可以控制函数或类型定义的私有性,即函数或类型定义可以是public,代表能被外部代码使用;也可以是private,代表只作为内部使用。
每个crate默认有一个隐式的根模块,也就是src/main.rs或src/lib.rs
三方库通过Cargo.toml中的dependencies项引入
异常处理
Result<T,E> 处理运行时错误。
例如:File::open函数的返回值类型是Result<T, E>。这里T的类型是std::fs::File,它是一个可以进行读写操作的文件句柄。E的类型是std::io::Error,表示可能因为文件不存在或者没有权限而访问失败。通过Result<T, E>可以告诉调用者调用是成功还是失败,并提供文件句柄或错误信息
Panic 抛出中断信号

浙公网安备 33010602011771号