Dart入门—函数与运算符
函数
基本语法
主函数
main() 函数,作为程序的入口,返回值是void,还有一个可选参数
可选参数
命名参数
位置参数
高阶函数
将函数作为参数传递给另一个函数
将一个函数分配给一个变量
闭包
dart的闭包就是函数对象,其实跟JavaScript的闭包函数差不多,理论请参考JavaScript的闭包函数
函数判断
运算符
dart定义的运算符如下所示,前排的优先级高于后排的,例如”%“ > ”==“ > ”&&“,但括号能改变优先级
一元后缀
expr++ 、 expr– 、 () 、 [] 、 .
一元前缀
-expr 、 !expr 、 ~expr 、 ++expr 、 –expr
乘除法
- 、 / 、 % 、 ~/
加减法
- 、 –
移位
<< 、 >>
按位与
&
按位或
|
关系和类型判断
= 、 > 、 <= 、 < 、 as 、 is 、 is!
相等
== 、 !=
逻辑与
&&
逻辑或
||
条件式
expr1 ? expr2 : expr3
级联
..
赋值
= 、 /= 、 ~/= 、 %= 、 += 、 -= 、 <<= 、 >>= 、 &= 、 ^= 、
算术运算符
加法
减法
-expr
取反,或称否定(反向表达式)
*
乘法
/
除法
~/
整除
%
模运算,取整除后的余
++var
var = var + 1(执行前加1)
var++
var = var + 1(执行后加1)
–var
var = var – 1(执行前减1)
var–
var = var – 1(执行后减1)
相等与关系运算符
==
等于
!=
不等于
大于
<
小于
=
大于等于
<=
小于等于
类型运算符
用as、is和is!可以很方便的在执行时检查类型
用 obj is T 这个语法可以判断obj是否实现了T
也可以使用as运算符检查
赋值运算符
赋值用 = 运算符,如果在前面加上其他运算符比如 += ,就可以组成复合赋值运算符
复合赋值运算符的语法说明是 a op= b 等于 a = a op b
逻辑运算符
!expr
反转表达式,假为真,反之亦然
||
逻辑或
&&
逻辑与
按位和位移运算符
&
与
|
或
^
异或
~expr
按位补码(0成为1;1变成0)
<<
左移位
右移位
其它运算符
()
函数应用
表示一个函数调用
[]
访问列表
在列表中索引指定值
expr1 ? expr2 : expr3
条件式
如果expr1为真,执行expr2,否则执行expr3
.
成员访问
选择对象的成员,例如foo.bar
..
级联
对对象的成员执行多个操作