500行代码学会Rust
English (TODO)| 中文
- RTD (Rust ToDo) 是一个用500行(不包括空行/注释/长行折断显示)Rust 代码编写的todo app命令行工具。
- RTD同时也是一个教程(TODO),旨在通过实践学习Rust。
- Learning by doing!
目录
你能从RTD学到什么?
通过500行代码学会Rust(TODO)教程,一步步从零构建该项目,你将学会:
- Rust常用语法
- Rust模块系统(
package
/binary crate
/library crate
/mod
/pub
/use
) - Rust所有权模型(伯恩斯坦条件)
- Rust错误/空值处理(
Result
/Option
) - Rust模式匹配(
if let
,match
...) - Rust单元测试
- Rust文件读写(
File Seek
/Buffed File I/O
) - Rust操作环境变量
- Rust命令行参数解析
- Rust发布包至crate.io
- 分层抽象(数据存储层/模型映射层/数据模型层/业务逻辑层/应用接口层/用户接口层)
- 从零手写序列化/反序列化
- 实现回收站功能(虚拟化概念)
架构图
存储
使用一个本地文件 $HOME/.rtd.csv
存储所有数据
完成该教程或直接安装RTD,你将得到:
- 极其轻量级且简洁的todo命令行应用
- 跨平台,Rust项目优秀的构建系统天然支持跨平台
- 安全,支持回收站,完全本地,不联网,无数据库
- 所有数据存储仅使用一个本地csv文件,可以通过复制csv文件来在不同机器间切换
如果你喜欢我的教程,别忘了给我点个赞哦~
准备
- Rust 天然跨平台,本项目在
linux
环境构建测试,Windows
/MacOS
同样支持,根据自身操作系统选择下载对应Cargo
即可。 Cargo
Rust 包管理和构建工具, 可通过官网rustup
一行命令直接安装,接下来的事情,它会帮你全搞定,很可爱,不是吗?
安装
通过 crate.io
:
或者通过 git repo
:
使用
查看帮助说明
添加一个todo
列出所有未完成的todo
完成一个todo
列出所有已完成的todo
标记一个todo为未完成
把一个todo扔进回收站
列出所有回收站的todo
从回收站恢复一个todo
物理销毁一个todo
清空回收站
列出所有todo
清空所有todo