从C++到Go(三)
运算符
++
和--
运算符不能在表达式中使用,只能在语句中使用。你不能编写如c = *p++
的代码。*p++
被解析为(*p)++。
Go的运算符优先级和C++不同。例如,在Go中,4 & 3 << 1
为0
, 而在C++中为4
。
Go运算符优先级:
1. * / % << >> & &^
2. + - | ^
3. == != < <= > >=
4. &&
5. ||
C++运算符优先级 (only relevant operators):
1. * / %
2. + -
3. << >>
4. < <= > >=
5. == !=
6. &
7. ^
8. |
9. &&
10. ||
常量
在Go中,常量可以是*无类型(untyped)*的。如果在声明中未给定类型,并且初始化表达式仅使用无类型的常量,那么这甚至适用于以const声明的常量。从无类型常