Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为什么赋值返回以前的值而不是新值,例如:分配0给y而不是2?这是危险的不寻常,因为它违反了最小意外原则。
0
y
2
var x: I32 = 0 let y = (x = 2)
我很确定这样做是为了获得一致的iso变量结果。分配给iso变量将无法返回新值,因为它创建了一个别名。但确实,一个不那么令人惊讶的设计将涉及一个赋值运算符返回None和一些其他操作(交换?)以恢复被覆盖的原始值。
iso
None