Merge pull request #1248 from Scott169/main

Fix some typos found and modify expression
pull/1251/head
Sunface 1 year ago committed by GitHub
commit 3172348481
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -90,11 +90,11 @@ where
}
```
## 减少二进制文件体积:删除 debug 信息
## 缩小二进制文件体积:删除 debug 信息
对于受限的环境来说,减少编译出的二进制文件体积是非常重要的。
对于受限的环境来说,缩小编译出的二进制文件体积是非常重要的。
在之前,我们可以在二进制文件创建后,手动的来完成。现在 cargo 和 rustc 支持在链接( linked )后就删除 debug 信息,在 `Cargo.toml` 中新增以下配置:
以往我们可以在二进制文件被创建后,手动的来完成。现在 cargo 和 rustc 支持在链接( linked )后就删除 debug 信息,在 `Cargo.toml` 中新增以下配置:
```toml
[profile.release]

@ -28,7 +28,7 @@ warning: `foo` (bin "foo") generated 1 warning (run `cargo fix --bin "foo"` to a
注意上面的完整命令(即包含 `--bin foo`)仅在你想要精确修复一个单独的 crate 时需要附上。默认执行 workspace 下所有 fixs 只需要 `cargo fix`
## 构建脚默认不再包含调试信息
## 构建脚默认不再包含调试信息
为了提高编译速度Cargo 现在默认避免在构建脚本中发出调试信息。构建脚本成功执行时不会有可见的效果但构建脚本中的回溯backtraces将包含更少的信息。

@ -4,7 +4,7 @@
集合在 Rust 中是一类比较特殊的类型,因为 Rust 中大多数数据类型都只能代表一个特定的值,但是集合却可以代表一大堆值。而且与语言级别的数组、字符串类型不同,标准库里的这些家伙是分配在堆上,因此都可以进行动态的增加和减少。
瞧,第一个集合排着整的队列登场了,它里面的每个元素都雄赳赳气昂昂跟在另外一个元素后面,大小、宽度、高度竟然全部一致,真是令人惊叹。 它就是 `Vector` 类型,允许你创建一个动态数组,它里面的元素是一个紧挨着另一个排列的。
瞧,第一个集合排着整的队列登场了,它里面的每个元素都雄赳赳气昂昂跟在另外一个元素后面,大小、宽度、高度竟然全部一致,真是令人惊叹。 它就是 `Vector` 类型,允许你创建一个动态数组,它里面的元素是一个紧挨着另一个排列的。
紧接着,第二个集合在全场的嘘声和羡慕眼光中闪亮登场,只见里面的元素排成一对一对的,彼此都手牵着手,非对方莫属,这种情深深雨蒙蒙的样子真是...挺欠扁的。 它就是 `HashMap` 类型,该类型允许你在里面存储 `KV` 对,每一个 `K` 都有唯一的 `V` 与之配对。

@ -206,7 +206,7 @@ impl<T> Screen<T>
上面的 `Screen` 的列表中,存储了类型为 `T` 的元素,然后在 `Screen` 中使用特征约束让 `T` 实现了 `Draw` 特征,进而可以调用 `draw` 方法。
但是这种写法限制了 `Screen` 实例的 `Vec<T>` 中的每个元素必须是 `Button` 类型或者全是 `SelectBox` 类型。如果只需要同质(相同类型)集合,更倾向于这种写法:使用泛型和 特征约束,因为实现更清晰,且性能更好(特征对象,需要在运行时从 `vtable` 动态查找需要调用的方法)。
但是这种写法限制了 `Screen` 实例的 `Vec<T>` 中的每个元素必须是 `Button` 类型或者全是 `SelectBox` 类型。如果只需要同质(相同类型)集合,更倾向于采用泛型+特征约束这种写法,因其实现更清晰,且性能更好(特征对象,需要在运行时从 `vtable` 动态查找需要调用的方法)。
现在来运行渲染下咱们精心设计的 UI 组件列表:

Loading…
Cancel
Save