Dart入門之操作符

操作符類型表

全文均摘錄梳理自Dart中文網(wǎng)

描述 操作符
unary postfix expr++ expr-- () [] . ?.
unary prefix -expr !expr ~expr ++expr --expr
multiplicative * / % ~/
additive + -
shift << >>
bitwise AND &
bitwise XOR ^
bitwise OR
relational and type test >= > <= < as is is!
equality == !=
logical AND &&
logical OR ||
if null ??
conditional expr1 ? expr2 : expr3
cascade ..
assignment = *= /= ~/= %= += -= <<= >>= &= ^= ??=

算術操作符

操作符 解釋 示例
+ 加號 assert(2 + 3 == 5)
- 減號 assert(3 - 2 == 1)
-expr 負號 assert(2 - 3 == -1)
* 乘號 assert(2 * 3 == 6)
/ 除號 assert(6 / 2 == 3)
~/ 除號,但是返回值為整數(shù) assert(5 ~/ 2 == 2)
% 取模 assert(5 % 2 == 1)

類型判定的操作符

操作符 解釋
as 類型轉換
is 如果對象是指定的類型返回 True
is! 如果對象是指定的類型返回 False
if (emp is Person) { // Type check
    emp.firstName = 'Bob';
}
//使用 as 操作符可以簡化上面的代碼:
(emp as Person).firstName = 'Bob';

注意: 上面這兩個代碼效果是有區(qū)別的。如果 emp 是 null 或者不是 Person 類型, 則第一個示例使用 is 則不會執(zhí)行條件里面的代碼,而第二個情況使用 as 則會拋出一個異常。


賦值操作符

"="表示賦值
a = value;   // 給 a 變量賦值
b ??= value; // 如果 b 是 null,則賦值給 b;如果不是 null,則 b 的值保持不變
復合賦值操作符
//以 `+=` 舉例
`a += b`  等同于 ` a = a + b`

邏輯操作符

操作符 邏輯
!expr 對表達式結果取反(true 變?yōu)?false ,false 變?yōu)?true)
|| 邏輯 OR
&& 邏輯 AND

其他操作符

Operator Name Meaning
() 使用方法 代表調(diào)用一個方法
[] 訪問 List 訪問 list 中特定位置的元素
. 訪問 Member 訪問元素,例如 foo.bar 代表訪問 foo 的 bar 成員
?. 條件成員訪問 和 . 類似,但是左邊的操作對象不能為 null,例如 foo?.bar 如果 foo 為 null 則返回 null,否則返回 bar 成員
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容