rust
文章平均质量分 79
城南顾北
人生是旷野。
展开
-
rust 学习记录 IX 错误处理
panic!重点关注 thread 和 note 两行,其中指出了错误的位置,和寻找错误发生的所在的函数的方法。使用即可获得以下的结果:我们可以精确找到 panic 发生的位置。注意,这里使用 windows 的 powershell 是无法运行的,可以切换 git bash 运行即可。原创 2024-02-28 15:13:04 · 595 阅读 · 0 评论 -
rust 学习记录 VIII 常见集合
如果我们想在一个 vector 中定义不同的类型呢?这时候我们就可以使用枚举,因为枚举被认为说是同一个类型。Int(i32),rust 的核心语言中只有一种字符串类型str。称做String的类型是由标准库,提供的,没有写进核心语言部分,是一个可以增长的、可变的、有所有权的、utf8 编码的字符串类型。hash map 是非常常用的集合类型。类型存储了一个键类型 K,对应一个值类型 V 的映射。底层是通过哈希函数来实现的映射。原创 2024-02-28 13:31:10 · 1493 阅读 · 0 评论 -
rust 学习记录 VII 包和crete和模块管理
主要包含以下的几个概念:我们这里直接看官方的解释,看着比较复杂,但实际上 rust 和 cargo 都帮我们做好了。我们输入命令 cargo new:当我们输入了这条命令,Cargo 会给我们的包创建一个 Cargo.toml 文件。查看 Cargo.toml 的内容,会发现并没有提到 src/main.rs,因为 Cargo 遵循的一个约定:src/main.rs 就是一个与包同名的二进制 crate 的 crate 根。同样的,Cargo 知道如果包目录中包含 src/lib.rs,则包带有与其同名的原创 2024-01-12 16:32:17 · 387 阅读 · 0 评论 -
rust 学习记录 VI 枚举和模式匹配
枚举就是用来列出所有的值。进一步优化我们可以将这个结构体省略掉,rust 允许我们将类型作为参数传递给枚举,所以我们这里就不需要将枚举再次作为一个结构体的字段了。原创 2024-01-12 16:31:21 · 323 阅读 · 0 评论 -
rust 学习记录 V 结构体
方法和函数类似,但是又有所不同,我们定义都是使用 fn 来定义,但是方法是在结构体、枚举、trait的上下文中定义,并且第一个参数总是 self,代表着调用该方法的结构体实例。我们还是来看上面的例子,我们可以将计算面积的方法写在结构体中。这样的话代码的组织性会更好,关于长方形的所有的方法我们都可以写在一起,而不是让使用者去到处寻找相关的函数。原创 2024-01-12 16:29:36 · 326 阅读 · 0 评论 -
rust 学习记录 IV 所有权
rust 独有的东西,可以让 rust 无需 GC 就可以保证安全性。原创 2024-01-12 16:28:44 · 338 阅读 · 0 评论 -
rust 学习记录 III 编程基础
默认声明的变量是 immutable ,即不可变的。如果改变值的话会报错。原创 2024-01-12 16:27:57 · 856 阅读 · 0 评论 -
rust 学习记录 II 猜数游戏
目标生成一个 1 到 100 之间的随机数,用户输入,然后机器提示大了,还是小了,知道正确。原创 2024-01-12 16:27:01 · 364 阅读 · 0 评论 -
rust 学习记录 I why rust
案例:Rust 早就应用于 Firefox 中的开发。Google 有一个新的操作系统叫做 fuschia,其中大于1/3的代码使用 Rust 编写。cargo 是 rust 的构建系统和包管理工具。使用 rustup doc 即可打开。Cargo.toml 就相当于前端中的。开发过程中我们尽量使用 cargo。缺点:难学,但是比 c++ 简单。rust 的包叫做 crate。命令:cargo new 项目名。原创 2024-01-12 16:26:01 · 972 阅读 · 0 评论