操作符

dart 有一套自己定义的操作符:

这里我就不再写了,直接copy一份官网的。



如果有过编程基础,上边展示的操作符应该都不陌生.

算术运算符

加: +
减: -
乘: *
除: /
取余: %
取模: ~/
自增: ++var, var++
自减: --var, var--

比较运算符

==: 等于
!=: 不等
>: 大于
<: 小于
>=: 大于等于
<=: 小于等于

类型判断

as: 类型转换
is: 判断是否是某种类型
is!: 判断是否不是某种类型

赋值操作符

=: 赋值
??: 判断是不是null,如果是null,进行赋值
var a = 3;
var b;
b ??= a;(如果b是null,把a赋值给b)
*=: a *= 3; ==> a = a * 3;
+=: a += 3; ==> a = a + 3;
...

赋值操作符很简单就不一一说了。

逻辑操作符

&&: 逻辑与
||: 逻辑非
!: 非

位操作符

&: 与
|: 或
^: 异或
<<: 左移
>>: 右移

条件表达式

var a = 1 ? true:false;
int getNum(int a) => a ?? 3; 如果 a == null,返回3,否则返回as

级联操作符

..

首先说下什么是级联操作符,java中有个词叫链式编程,比如:

StringBuilder() sb = new StringBuilder();
sb.append('a').append('b').toString();

级联和链式在外表上看上去很像。

querySelector('#button')
..text = 'Confirm'
..classes.add('important')
..onClick.listen((e) => window.alert('Confirmed!'));

不需要频繁的创建对象,创建一个button的对象后,后续的对属性的修改和方法的调用操作都是针对这个对象来说。

猜测这个特性,会在编写服务和应用的时候对于连续操作的场景会大量使用。

最新文章

  1. 在eclipse安装svn插件
  2. c++实现简单的链表
  3. hudson slave搭建
  4. SCI Index
  5. 【经验之谈】前端面试知识点总结(CSS相关)——附答案
  6. MySQL主从复制数据不一致问题【自增主键】
  7. bzoj 1005 1211 prufer序列总结
  8. 较好的IOS新闻客户端应用源码
  9. JAVA网络编程基础知识
  10. 《A First Course in Probability》-chaper8-极限定理-各类不等式
  11. 关于解决Oracle登录:ora-12154:tns:无法解析指定的连接标识符
  12. GitLab一键式安装bitnami
  13. jquery事件使用方法总结
  14. Linux atop监控
  15. centos7安装xfce桌面
  16. 解决 warning I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
  17. WIN下的Django安装
  18. 线程同步-使用SimaphoreSlim类
  19. Android仿淘宝头条滚动广告条
  20. vue动态路由

热门文章

  1. 微信App支付 --- NodeJs
  2. activeMQ 安装及启动异常处理
  3. Python 图形验证码库、二维码库的使用
  4. MinIO 搭建
  5. NOIP模拟 23
  6. 消息中心 - Laravel的Redis队列(一)
  7. day 2上午 elect 选举 背包
  8. Jenkins发送测试报告
  9. Hadoop3.2.1版本的环境搭建
  10. webpack的npm扩展使用