use*_*783 4 operators go bitwise-operators
为什么Go有&^"bit clear(AND NOT)"运算符?
是否有过任何区别a &^ b和a & ^b?
使用显式位清除运算符可以更轻松地处理文字和无类型常量.
无类型整数的默认类型为int,因此类似于a := uint32(1) & ^1非法,因为^ 1首先被计算,它被评估为^ int(1),等于-2.a := uint32(1) &^ 1是合法的,因为这里1根据上下文被评估为uint32.
明确清楚地表达可能会有一些性能提升,但我对此并不太确定.