我assert_eq!(a, b, )在几个地方看到过,我不太习惯使用宏来assert_eq!(a, b)通过查看代码来区分它们。有人可以解释一下两者之间是否有区别吗?
Rust 允许在很多地方使用尾随逗号,并且大多数内置宏也遵守这个约定。这两个assert_eq!调用没有区别。类似地,我们可以像这样声明一个结构体
struct Example {
foo: i32,
bar: i32, // Note: trailing comma on this line
}
Run Code Online (Sandbox Code Playgroud)
通常,如果调用是单行,则尾随逗号没有任何用处。所以我会觉得这很奇怪,但完全有效
assert_eq!(a, b, )
Run Code Online (Sandbox Code Playgroud)
另一方面,如果这两个表达式足够复杂,可以独立成行,则有助于 git diffs 和可读性。我发现以下非常地道
assert_eq!(
some_complicated_expression(arg1, arg2, arg3),
some_complicated_expression(argA, argB, argC),
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |