- 【基础】内容参考《Rust 权威指南》,作为练习记录。若代码有需要改进的地方还望不吝赐教,一起相互学习,共同进步!
- 【实践】来源于学习、工作以及其他辅助材料
- 【扩展】补充一些 Rust 周边能力,如:镜像源、私有化部署等
- 【资讯】每日补充 Rust 生态相关,如:特性、插件、开源库等,详见:rust_source
注意:如果不想保留 target 编译文件,可以使用命令一键清除:find . -name "target" | xargs rm -rf
- 【2022.09.07】first_demo Hello World
- 【2022.09.07】guessing_game 猜数游戏
- 【2022.09.08】variables 变量
- 【2022.09.09】compound_type 复合类型
- 【2022.09.11】loops 循环,branches 条件判断,try_function 函数
- 【2022.09.13】ownership 所有权
- 【2022.09.16】borrowing 借用
- 【2022.09.25】dangling 悬垂引用
- 【2022.09.26】slice 切片
- 【2022.09.27】struct 结构体
- 【2022.09.29】struct_demo2 结构体示例
- 【2022.10.01】struct_demo3 impl实现结构体,associated_func 关联函数
- 【2022.10.01】enum_demo enum 枚举类型,option_demo option 枚举类型
- 【2022.10.01】match_demo match 控制流运算符
- 【2022.10.01】lib_demo 单元包
- 【2022.10.01】pub_struct 定义公共结构体,pub_enum 定义公共枚举
- 【2022.10.02】use_crate use 导入单元包,outside_lib 导入自定义包文件
- 【2022.10.02】vector_demo 动态数组 Vector
- 【2022.10.02】string_demo 字符串 String
- 【2022.10.02】hashmap_demo 哈希映射 HashMap,hashmap_demo2示例:单词查找
- 【2022.10.30】basic_next next() 基本用法
- 【2022.10.04】panic_demo 使用 panic
- 【2022.10.04】unwarp_expect unwarp 和 expect
- 【2022.10.04】error_back ?运算符返回错误
- 【2022.10.05】generics 泛型示例:求最大数
- 【2022.10.05】struct_generics 结构体中使用泛型
- 【2022.10.27】trait_demo Trait 的基本使用:定义共同行为
- 【2022.10.27】trait_demo_default Trait 的基本使用:默认实现
- 【2022.10.28】trait_demo_type Trait 的基本使用:Trait 作为参数
- 【2022.10.28】trait_demo_largest Trait 的基本使用:Trait 实现 largest 函数
- 【2022.10.29】trait_demo_if Trait 的基本使用:使用 trait 约束来有条件地实现方法
- 【2022.10.29】lifetime_if 生命周期:miss lifetime specifier
- 【2022.10.29】lifetime_test 生命周期:处理不同生命周期的引用
- 【2022.10.30】lifetime_struct 生命周期:结构体中定义
- 【2022.10.30】lifetime_trait 生命周期:同时使用泛型、trait约束与生命周期
- 【2022.11.17】closure_demo 闭包:能够捕获环境的匿名函数
- 【2022.11.19】closure_filter 使用闭包捕获环境
- 【2022.11.18】iter_demo 创建一个迭代器
- 【2022.11.18】iter_trait_demo Iterator trait 和 next 方法
- 【2022.11.19】custom_iter 创建自定义迭代器
- 【2022.11.20】list_box 使用 Box 的 List 定义
- 【2022.11.20】deref_trait_box 通过实现 Deref trait 来将类型视作引用
- 【2022.11.21】drop_trait 借助 Drop trait 在清理时运行代码
- 【2022.11.22】mem_drop 使用 std::mem::drop 提前丢弃值
- 【2022.11.22】rc_list 基于引用计数的智能指针 Rc,Reference counting(引用计数)
- 【2022.11.23】rc_strong_count 克隆 Rc 会增加引用计数
- 【2022.11.24】rust_mock_object 模拟对象
- 【2022.11.27】refcell_demo 将 Rc 和 RefCell 结合使用来实现一个拥有多重所有权的可变数据
- 【2022.11.27】handle_thread 使用 join 句柄等待所有线程结束
- 【2022.11.27】move_thread 在线程中使用 move 闭包
- 【2022.11.27】message_passing 使用消息传递在线程间转移数据
- 【2022.12.01】mutual_exclusion 互斥体:mutex(mutual exclusion)
- 【2022.12.01】mutex 在多个线程间共享 Mutex
- 【2022.12.02】encapsulation 封装示例
- 【2022.12.03】gui_demo 使用 trait 对象来存储不同类型的值
- 【2022.12.03】blog_demo 状态模式示例(实现一个发布博客的工作流)
- 【2022.12.11】unsafe_demo 通过不安全函数来实现 split_at_mut
- 【2022.12.14】extern_func 用 extern 关键字来简化创建和使用外部函数接口(Foreign Function Interface,FFI)
- 【2022.12.14】static_variable 声明、访问与修改可变静态变量(Rust 中全局变量)
- 【2022.12.14】unsafe_trait 实现不安全 trait
- 【2022.12.15】operator_overloading 通过实现 Add trait 来重载 Point 实例的+运算符
- 【2022.12.15】custom_rhs 设置自定义 RHS(right-handle side)类型参数
- 【2022.12.16】same_trait_fn 指定调用某个 Trait 上的方法
- 【2022.12.22】fully_qualified_syntax 使用完全限定语法
- 【2022.12.23】fn_pointer 函数指针
- 【2022.12.23】macros_demo 声明宏 macro_rules!
- 【2022.10.12】fibonacci_sequence 斐波那契数列
- 【2022.10.12】temperature_convert 摄氏温度与华氏温度的相互转换1
- 【2022.10.18】temperature_convert_2 摄氏温度与华氏温度的相互转换2
- 【2022.10.13】打印歌词并循环处理重复内容 打印歌词并循环处理重复内容
- 【2022.10.16】my_box_game 示例游戏
- 【2022.10.20】rust_cli_demo Rust CLI Demo —— Hello
- 【2022.10.21】clap_cli_demo 使用 CLI 实现 cat 命令
- 【2022.11.01】rust_minigrep 使用 CLI 实现 grep 命令
- 【2022.11.20】show_rust_cli Command Line Applications in Rust
- 【2022.10.25】criterion_bench_demo Rust 性能测试(起手测试)
- 【2022.10.30】try_test 编写单元测试
- 【2022.10.31】try_test_panic 使用 should_panic 检查 panic
- 【2022.10.31】test_result 使用 Result<T, E>编写测试
- 【2022.10.31】try_adder_tests 编写集成测试
Yew 是一个设计先进的 Rust 框架,目的是使用 WebAssembly 来创建多线程的前端 Web 应用。
- 【2022.10.25】yew_app Rust Web 框架:Yew + Bulma
- 【2022.11.05】rust-web Rust Web 全栈开发(RESTful API,WebAssembly)
- 【2022.11.13】yew_todolist Yew Todolist(use trunk serve)
- 【2022.11.22】signal_handling 处理快捷键 Ctrl+C
- 【2022.11.22】ctrlc_demo 使用三方库 ctrlc 捕获键位
- 【2022.11.26】handle_other_signals 捕获其他类型的信号(Crates: Signal-hook)
- 【2022.11.26】use_channel 使用 channel 通道进行信号处理(Crates: crossbeam-channel)
- 【2022.12.04】system_info 获取系统信息
- 【2022.12.04】system_info2 Get system information in Rust
- 【2022.12.04】open_web_browsers 在浏览器中打开 URL
- 【2022.12.24】rust_web_server Web 服务器
- 【2023.03.11】reqwest_demo Reqwest 示例
- 【2023.03.19】tauri_demo 使用 Tauri 开发桌面应用
- 【2022.11.26】confy_demo 使用confy处理配置文件
- 【2022.11.26】exit_code 使用exitcode设置退出码
- 【2022.11.26】human_panic human-panic: Panic messages for humans
- 【2022.11.26】atty_demo 使用atty
- 【2023.03.06】OpenAI OpenAI 使用示例
- 【2023.03.24】jieba_demo Rust 版本分词库使用示例
- 【2022.11.03】crates_image crates.io 镜像
- 【2022.11.03】private_registry 部署指南
- 【2022.11.19】rust_docs 编写文档示例