Dart Learn Notes 03
操作符
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的对象后,后续的对属性的修改和方法的调用操作都是针对这个对象来说。
猜测这个特性,会在编写服务和应用的时候对于连续操作的场景会大量使用。
Dart Learn Notes 03的更多相关文章
- Dart Learn Notes 04
流程控制语句 流程控制语句的作用就是控制代码的执行流程. if and else var a = 10; if(a > 10){ print('ok'); }else if( 5 < a ...
- Dart Learn Notes 02
Functions Dart是一门面向对象的语言,所以即便是方法也是一个对象,它的类型是Function. 这就意味着方法可以指向变量,也可以作为方法中的参数供其他方法使用.甚至可以让 一个类作为一个 ...
- Dart Learn Notes 01
关于Dart的几点重要说明 在Dart中所有变量都是一个对象,所有对象都是一个类的实例.每个数字,方法,甚至是Null都是对象.所有的对吸纳更都是集成自Object这个类.(这个说法其实是很像Java ...
- Java 8 Learn Notes
Main reference: [1] http://winterbe.com/posts/2014/03/16/java-8-tutorial/ [2] https://plus.google.co ...
- Linux Academy Learn Notes
Linux Essentials Certification Globbing ls ?.txt --- ? stands for one character while * means one or ...
- Bash Scripting Learn Notes
References: [1] http://www.tldp.org/LDP/Bash-Beginners-Guide/html/ 1. Executing programs from a scri ...
- Java 8 Learn Notes - Streams
Main reference [1] http://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples 1. How Stream ...
- R Language Learn Notes
One #install package install.packages("ggplot2") #load library library(ggplot2) #update.pa ...
- [Notes] Learn Python2.7 From Python Tutorial
I have planed to learn Python for many times. I have started to learn Python for many times . Howeve ...
随机推荐
- zookeeper - 通过java代码连接zookeeper(2)
首先创建一个Maven项目 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- WCF(一):初探WCF
目录: 一.什么是WCF 二.WCF能做什么 三.WCF的模型 四.WCF的基本概念 五.WCF的快速创建 1.WCF是什么? A.WindowsCommunication Foundation(WC ...
- ArcGIS制作地形图【详细步骤】
结果图: 详细步骤: 一.在ArcSence中加载带有投影坐标系的dem数据 Dem的属性设置为下图可有上面的效果. 二.提取栅格范围 找到工具[3D Analyst][转换][栅格范围]双击打开设置 ...
- any_value()函数
转载自:https://blog.csdn.net/Peacock__/article/details/90608246 MySQL5.7之后,sql_mode中ONLY_FULL_GROUP_BY模 ...
- windows一键还原,阴影卷创建报错,shadowcopy error - User Imposed Limit
windows 系统自带的还原备份功能,底层使用 shadowcopy(阴影卷)技术. 该技术采用了 copy on write 的方式, 当每次有新 IO 时,老的数据会被拷贝出来,然后再写新的 I ...
- Java连接MySQL简单步骤及常见问题解析
这篇文章跟读者们介绍Java语言如何连接到MySQL数据库相关操作,及FAQ(Frequently Asked Questions)介绍. 选择工具和准备数据集 IDE:Eclipse 数据库:使用的 ...
- 明解C语言 入门篇 第三章答案
练习3-1 #include <stdio.h> int main() { int x; int y; puts("请输入两个整数."); printf("整 ...
- MIT线性代数:7.主变量,特解,求解AX=0
- netty源码解析(4.0)-28 ByteBuf内存池:PooledByteBufAllocator-把一切组装起来
PooledByteBufAllocator负责初始化PoolArena(PA)和PoolThreadCache(PTC).它提供了一系列的接口,用来创建使用堆内存或直接内存的PooledByteBu ...
- Project Euler 55: Lychrel numbers
五十五.吕克雷尔数(Lychrel numbers) 如果我们把\(47\)翻转过来并和其自身相加,结果是\(47+74=121\)是一个回文数.并不是所有的数都可以这么快的变成回文数,比如说: \[ ...