运算符

2019-02-17  本文已影响0人  weifansym

全部运算符、分隔符,以及其他符号。


WX20190217-234418@2x.png

运算符结合律全部从左到右。


WX20190217-234458@2x.png
简单位运算演 。
0110 &  1011 = 0010     AND 都为 1。
0110 |  1011 = 1111     OR  少 个为 1。
0110 ^  1011 = 1101     XOR 只能 个为 1。
0110 &^ 1011 = 0100     AND NOT 清除标志位。

标志位操作。

a := 0
a |= 1 << 2         // 0000100: 在 bit2 设置标志位。
a |= 1 << 6         // 1000100: 在 bit6 设置标志位 
a = a &^ (1 << 6)   // 0000100: 清除 bit6 标志位。

不支持运算符重载。尤其需要注意,"++"、"--" 是语句而非表达式。

n := 0 
 p := &n

// b := n++         // syntax error
// if n++ == 1 {}   // syntax error
// ++n              // syntax error

n++ 
*p++        // (*p)++

没有 "~",取反运算也 "^"。

x := 1
x, ^x        // 0001, -0010
上一篇 下一篇

猜你喜欢

热点阅读