操作符

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的更多相关文章

  1. Dart Learn Notes 04

    流程控制语句 流程控制语句的作用就是控制代码的执行流程. if and else var a = 10; if(a > 10){ print('ok'); }else if( 5 < a ...

  2. Dart Learn Notes 02

    Functions Dart是一门面向对象的语言,所以即便是方法也是一个对象,它的类型是Function. 这就意味着方法可以指向变量,也可以作为方法中的参数供其他方法使用.甚至可以让 一个类作为一个 ...

  3. Dart Learn Notes 01

    关于Dart的几点重要说明 在Dart中所有变量都是一个对象,所有对象都是一个类的实例.每个数字,方法,甚至是Null都是对象.所有的对吸纳更都是集成自Object这个类.(这个说法其实是很像Java ...

  4. Java 8 Learn Notes

    Main reference: [1] http://winterbe.com/posts/2014/03/16/java-8-tutorial/ [2] https://plus.google.co ...

  5. Linux Academy Learn Notes

    Linux Essentials Certification Globbing ls ?.txt --- ? stands for one character while * means one or ...

  6. Bash Scripting Learn Notes

    References: [1] http://www.tldp.org/LDP/Bash-Beginners-Guide/html/ 1. Executing programs from a scri ...

  7. Java 8 Learn Notes - Streams

    Main reference [1] http://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples 1. How Stream ...

  8. R Language Learn Notes

    One #install package install.packages("ggplot2") #load library library(ggplot2) #update.pa ...

  9. [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 ...

随机推荐

  1. 《ECMAScript6入门》笔记

    let和const命令 let命令 循环体的let变量只对花括号作用域可见,花括号外不可见 循环体的语句部分是一个父作用域,而循环体内部是一个单独的子作用域 let声明的变量不存在变量提升,未声明的使 ...

  2. Java IO编程——字符流与字节流

    在java.io包里面File类是唯一 一个与文件本身有关的程序处理类,但是File只能够操作文件本身而不能够操作文件的内容,或者说在实际的开发之中IO操作的核心意义在于:输入与输出操作.而对于程序而 ...

  3. iOS 应用签名原理&重签名

    在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等.但是很多相应的开发者并不理解iOS App应用签名的原理和流程.今天着重讲 ...

  4. Shiro框架 - 【shiro基础知识】

     转载:https://segmentfault.com/a/1190000013875092#articleHeader27  读完需要 63 分钟   前言 本文主要讲解的知识点有以下: 权限管理 ...

  5. SpringBoot中在除Controller层 使用Validation的方式

    说明:Validation 在Controller层使用Validation应该都使用过了,以下方式可以使用 Validation 在Service层完成对dto的属性校验,避免写一堆的 if els ...

  6. 学习笔记33_EF跨数据库

    在App.Config中,可以: (1)自定义类 public xxxxDbContext() { public XXXXDbContext():base("name=xxxxContain ...

  7. CSPS模拟 94

    以后干脆不要在准备提交的代码里放调试信息. 再也不忘删printf可是memset还是看不见... T1 玄学错误,不想研究.skyh帮我研究出来了.HACKDATA:1 1 T2 傻逼做法. 发现一 ...

  8. python学习之【第十四篇】:Python中的装饰器

    1.什么是装饰器? 器即函数 装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 2.遵循的原则 装饰器必须遵循以下两个原则: 不修改被装饰函数的源代码(开放封 ...

  9. Salesforce学习之路-developer篇(五)Aura组件原理及常用属性

    很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...

  10. Hybrid App: 了解JavaScript如何与Native实现混合开发

    一.简介 Hybrid Development混合开发是目前移动端开发异常火热的新兴技术,它能够实现跨平台开发,极大地节约了人力和资源成本.跨平台开发催生了很多新的开源框架,就目前而言,在混合开发中比 ...