2023秋冬季开源操作系统训练营-Notes
Rustlings 练习进度排行榜 http://os2edu.cn/2023-autumn-rust-ranking
Course1
2023秋冬季开源操作系统训练营
环境搭建
所需依赖主要为 rustup
和 rustlings
在 Archlinux 下安装 rustup
:
1 |
|
安装 rustlings
.
首先确保在 Github Classroom (点这里) 里领取了仓库, 先将仓库 clone 到本地:
1 |
|
其会将 rustlings
编译安装在这个仓库中 (注意此时的 rustlings
并不在 PATH 变量中)
rustlings 基本使用
列出所有题目的状态:
1 |
|
实时查看自己做题的状态:
1 |
|
这个命令还会实时对 exercise 进行编译.
仅查看一次做题状态:
1 |
|
测试单独的题目:
1 |
|
或:
1 |
|
标记一个 exercise:
1 |
|
同样有:
1 |
|
想要通过一个 exercise 的进度, 需要手动删除:
1 |
|
exercise 文件中的这行注释.
用 cargo 创建和管理本地的项目
cargo 是 rust 的包管理器和项目管理器.
创建项目:
1 |
|
编译和运行项目文件:
1 |
|
仅编译:
1 |
|
检查代码:
1 |
|
变量与可变性
变量声明:
1 |
|
注意, 在 Rust 中, 变量默认是不可变的 (immutable), 若要可变, 需要加上 mut
关键字:
1 |
|
const 表达式
命名约定为全大写, 其在编译时确定值:
1 |
|
rust 的命名里都是用下划线分隔单词.
语句和表达式
rust 是基于表达式的语言.
- 语句, 不返回值
- 表达式, 有返回值
所有权概念
所有权规则:
- Rust 中的每一个值都有一个所有者 (owner)
- 值在任一时刻有且只有一个所有者
- 当所有者 (变量) 离开作用域, 这个值将被丢弃
如:
1 |
|
此时 123
这个值的所有者就是 y
, 而 x
在此时被废弃, 不再使用.
2023秋冬季开源操作系统训练营-Notes
http://example.com/2023/10/09/2023秋冬季开源操作系统训练营-Notes/