我今天早些时候在写一些代码,但是忘记了我在写Java而不是Swift并意外键入了&+。出乎意料的是,我没有遇到任何错误,并且代码已编译并运行良好。
我打了周围一点点,结果发现&+,&-,|+,|-,^+,和^-所有的编译和运行没有错误。看起来当它们对数字起作用时,它们都像第一个按位运算符一样起作用:
1 &+ 2 == 1 & 2
3 |+ 4 == 3 | 4
7 ^+ 9 == 7 ^ 9
Run Code Online (Sandbox Code Playgroud)
在另一方面,它似乎是一个位运算符的任何其他组合和数学运算符,如+&,&/和^*,都给予编译时错误。
为什么&+,&-,|+,|-,^+,和^-编译和运行没有错误?他们是否有我没有看到的某些目的,或者仅仅是一些编译上的怪异?
该+代表的Unary Plus Operator +产生了正数。
该-装置Unary Minus Operator -产生一个负数。
1 &+ 2 是 1 & +23 |- 4 是 3 | -47 ^+ 9 是 7 ^ +9请注意,*和/运算符不能以相同的方式使用(1 &/ 2)。
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |