mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-01-30 06:00:13 +08:00
Update CH21
This commit is contained in:
parent
c877706ed2
commit
efe643cfc3
@ -336,4 +336,19 @@ fn main() {
|
||||
|
||||
**`Debug` for Programmer Output**
|
||||
|
||||
`Debug` 特质实现了格式字符串中的格式化,所谓格式字符串,即咱们通过在 `{}` 里添加 `:?` 所表示的。
|
||||
|
||||
`Debug` 特质允许咱们为调试目的打印某种类型的实例,如此咱们以及用到咱们类型的其他编程者,就可以在程序执行的某个特定时刻,就其某个实例加以探查。
|
||||
|
||||
在比如用到 `assert_eq!` 宏中等情况下,`Debug` 特质便是要求使用的。`assert_eq!` 这个宏在相等断言失败时,就会打印出作为参数所给到的两个实例值,如此编程者就可以看到为何这两个实例不相等。
|
||||
|
||||
|
||||
### 用于相等比较的 `PartialEq` 与 `Eq`
|
||||
|
||||
`PartialEq` 特质允许咱们比较某种类型的两个实例,来检查他们是否相等,并实现 `==` 与 `!=` 运算符的应用。
|
||||
|
||||
对 `PartialEq` 进行派生,就会实现 `eq` 方法。当 `ParitalEq` 实在结构体上实现的时,只有在两个实例的 *全部* 字段都相等时,他们才是相等的,且在有任何字段不等时,两个实例便不相等。当在枚举上派生时,枚举的各个变种与自身相等,而不等于其他任何变种。
|
||||
|
||||
在比如用到需要比较某个类型两个实例是否相等的 `assert_eq!` 宏等之下,就要求派生 `PartialEq` 特质。
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user