Layton's Blog
(十四)Rust_无畏并发 (十四)Rust_无畏并发
无畏并发并发相关概念 Concurrent(并发):程序的不同部分之间独立的执行。 Parallel(并行):程序的不同部分同时运行。 Rust 无畏并发:允许你编写没有细微 Bug 的代码,并在不引入新 Bug 的情况下易于重构。
(十三)Rust_智能指针 (十三)Rust_智能指针
智能指针前言本章节主要介绍 Rust 中“指针”的相关概念,包含智能指针以及其与引用的区别。 介绍标准库中常见的智能指针: Box<T>:在 heap 内存上分配值。 Rc<T>:启用多重所有权的引用计数类型。 R
(十二)Rust_Cargo与Crates.io (十二)Rust_Cargo与Crates.io
Cargo 与 crates.io前言本章主要内容: 通用 release profile 来自定义构建。 尝试在 crates.io 上发布库。 通过 workspaces 组织大工程。 从 crates.io 安装库。 使用自定义命令
(十一)Rust_迭代器和闭包 (十一)Rust_迭代器和闭包
迭代器和闭包闭包-使用闭包创建抽象行为 闭包:可以捕获其所在环境的匿名函数。 是匿名函数。 可以保存为变量、作为参数。 可在一个地方创建闭包,然后在另一个上下文中调用闭包来完成运算。 可从其定义的作用域捕获值。 例子-生成自定义运动计
(十)Rust_编写与运行测试 (十)Rust_编写与运行测试
编写与运行测试测试(函数) 测试的目的是为了验证非测试代码的功能是否与预期一致。 测试函数体通常执行 3 个操作: 测试数据/状态。 运行被测试的代码。 断言结果。 测试函数结构 测试函数需要使用 test 属性(attribute)
(九)Rust_生命周期 (九)Rust_生命周期
生命周期什么是生命周期 Rust 每个引用都有自己的生命周期。 生命周期:引用保持有效的作用域。 大多数情况:生命周期是隐式的、可被推断的。 当引用的生命周期可能以不同的方式互相关联时:手动标注生命周期。 生命周期的作用: 主要作
(八)Rust_泛型与Trait (八)Rust_泛型与Trait
泛型与 Trait重复代码提取 重复代码危害: 容易出错。 需求变更时需要在多处进行更改。 消除重复:提取函数。 识别重复代码。 提取重复代码到函数体中,并在函数签名汇总指定函数到输入和返回值。 将重复的代码使用函数调用进行替代。
(七)Rust_错误处理 (七)Rust_错误处理
错误处理Rust 错误处理 Rust 的可靠性:错误处理。 大部分情况下:在编译时提示错误,并处理。 错误的分类: 可恢复:例如文件未找到,可以再次尝试。 不可恢复:也就是 bug,例如访问的索引超出范围。 Rust 没有类似异
(六)Rust_常用集合 (六)Rust_常用集合
常用的集合前言Rust 笔记也做到集合部分了,强烈推荐 rustling 工具,配合官方文档或者本系列笔记作为练习题是相当不错的。 Vector 可以使用 Vector 存储多个值: Vec<T>,称为 Vector。 其由标
(五)Rust_Package (五)Rust_Package
Package、Crate and ModuleRust 的代码组织 代码组织主要包括: 哪些细节可以暴露,哪些细节是私有的。 作用域内哪些名称有效。 这些组织被称为模块系统: Package(包):Cargo 的特性,使用者构建、
1 / 2