Skip to content

七月5号学习记录

NameAvailable319 edited this page Jul 8, 2020 · 2 revisions

事件一:

完成枚举类的学习,Option枚举类在Rust标准库中这个类相当于null,

`enum Option {

Some(T),

None,

}`

若想定义一个为空值的类,可以如下:

let opt: Option<&str> = Option::None;

使用时可以省略Option::直接写None或者Some()。

if let语法:

`if let 匹配值 = 源变量 {

语句块

} else{

语句块

}`

事件二:

学习了Rust组织管理,Rust有三个重要的组织概念:Crate(箱)、Package(包)、Module(模块);

Rust中有两种简单的访问权限:公共(public)和私有(private)。默认情况下module中的成员访问权限为私有的,如果想使用公共权限需要使用pub关键字。私有module只能在平级或者下级的位置才能访问,不能从外部访问。

use关键字:能够将模块标识符引入当前作用域,还可以使用as关键字为标识符添加别名:

use crate::nation::govern as nation_govern;

事件三:

Rust中对于可恢复错误使用Result<T,E>类来处理,对于不可恢复错误使用panic!宏来处理。

回溯是不可恢复错误处理的另一种处理方式,它会展开运行的栈并输出所有的信息,最后退出程序。可通过设置环境变量'RUST_BACKTRACE=1'以显示回溯。

Result<T,E>:

`enum Result<T, E> {

Ok(T),

Err(E),

}`

若想使一个可恢复按不可恢复处理,Result类提供了两个办法:unwrap()和expect(message:&str)。

计划:

明天开始做小练习。