Posts by Topic: rust
Rust 语言基础学习
yang - 2023-04-06
NOTE: 有的人可能开了 rustlings 的 lsp 功能,但是仍然没有智能提示/补全功能,这可能是因为 rust-analyzer 插件更新后和当前的 rustlings 不兼容导致的,可以将 rust-analyzer 插件的版本回退,暂时解决此问题: 很多概念看一遍记不住,在学和练的过程中经常要回头看之前的章节才能想起来。 Rust 的文档和教程中的代码片段都可以在线运行,每一个都可以运行看一下结果,加深印象和理解。 2023-03-27 类型系统、流程控制、模式匹配等基本概念 阅读《Rust 语言圣经》基础部分内容,之前也有简单看过一些,了解了 Rust 语言的一些基本特性,包括基本数据类型、所有权概念、复合类型、流程控制和模式匹配等。 根据学习的内容完成了 rustlings 的相关练习。 Rust 中使用所有权机制和可变性对变量的操作进行限制,这是它的一大特点。使用时要经常注意变量的所有权转移问题,以及变量在一个作用域内只能有一个可变引用或多个不可变引用。 Rust 中使用 match 进行匹配实现多分支的情况。match 的匹配需要列出所有匹配的情况,如匹配一个 u8 类型的数字可能就要列出 0~255 个情况。不过我们可以使用 _ 进行通配,直接匹配所有没有列出的情形。(注意只在必要的时候使用,不然可能因为忘了处理特殊的值而出现逻辑 BUG。) match 还可以使用 guard 形式(不知道怎么翻译,看守?)进行条件约束的匹配,如下: match value { x if x < 0 => println!("Negative number"), ...