兄弟連go教程(8)表示式--保留字;運算子

尹成發表於2018-07-04
語⾔言設計簡練,保留字不多。
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

全部運算子、分隔符,以及其他符號。
+ & += &= && == != ( )
- | -= |= || < <= [ ]
* ^ *= ^= <- > >= { }
/ << /= <<= ++ = := , ;
% >> %= >>= -- ! ... . :
&^ &^=


運算子結合律全部從左到右。
優先順序 運算子 說明
------------+---------------------------------------------+----------------------------
high * / & << >> & &^
+ - |? ^
== != < <= < >=
<- channel
&&
low ||


簡單位運算演⽰示。
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

尹成老師

QQ77025077 

微信18510341407

所有視訊在尹成學院

www.yinchengxueyuan.com

尹成百度雲請聯絡QQ475318423




相關文章