fiv*_*ven 6 assignment-operator rust
Rust 有几个不能链接的运算符(==例如<)。
但赋值运算符= 可以被链接起来。
a = b = 10;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,10 被分配给b,单位()被分配给a。
=Rust 允许我们这样链接有什么原因吗?
我为此创建了Clippy 问题 6576 。
Rust 中的几乎所有内容都是表达式而不是语句。语句和表达式之间的主要区别在于表达式执行后返回一个值。
这也适用于赋值操作,在 Rust 中被视为表达式。赋值表达式有返回值(),也称为单位值。这对你的程序有什么影响?
这意味着你的任务
a = b = 10
Run Code Online (Sandbox Code Playgroud)
被解析为
a = (b = 10)
Run Code Online (Sandbox Code Playgroud)
请注意, 的返回值b = 10是()(因为它是一个表达式),因此该返回值被分配给a。
| 归档时间: |
|
| 查看次数: |
1726 次 |
| 最近记录: |