摘要:一,Runes 在Dart中,Runes代表字符串的UTF-32字符集, 另一种Strings Unicode为每一个字符、标点符号、表情符号等都定义了 一个唯一的数值 由于Dart字符串是UTF-16的字符序列,所以在字符串中表达32的字符序列就需要新的语法了 通常使用\uXXXX的方式来表示,
阅读全文
摘要:一,概述 按顺序访问的值或元素的集合, List集合也是继承于Iterable List和Set也是Iterable,dart:collection库中同样有很多 部分Iterable集合可以被修改 向List或Set添加元素将改变对象所有包含的元素。 向Map添加新的Key会改变所有Map.key
阅读全文
摘要:一,概述 Duration表示从一个时间点到另一个时间点的时间差 如果是一个较晚的时间点和一个较早的时间点,Duration可能是负数 二,创建Duration 唯一的构造函数创建Duration对象 Duration({int days: 0, int hours: 0, int minutes:
阅读全文
摘要:一,概述 -- Object Dart语言和Java一样,都是面向对象语言,所有的类也都有个公共的父类 >Object。该类位于Dart sdk核心库core目录下。 二,构造方法 三,属性 四,方法 五,操作符 除了==操作符可以被覆写,其他一些运算符也可以被覆写,具体那些可被覆写,请参考Dart
阅读全文
摘要:一,部分属性 RegExp exp = new RegExp(r"(\w+)"); 返回正则表达式的哈希码 print(exp.hashCode); 正则表达式是否区分大小写 print(exp.isCaseSensitive); 正则表达式是否匹配多行 print(exp.isMultiLine)
阅读全文
摘要:一,部分属性 用法一(figureA) int figureA = -93; 是否为负数 print(figureA.isNegative); figureA是否是有限的 print(figureA.isFinite); figureA是否正无穷大或负无穷大 print(figureA.isInfi
阅读全文
摘要:字符串定义使用单引号或双引号 String a = "abcdefg"; String b = '12345'; 创建多行字符串,保留内在格式使用三个单引号或三个双引号 创建多行字符串,保留内在格式,如换行和缩进等,里面写什么输出就是什么。 三个单引号 String e = '''asd fdsd
阅读全文
摘要:一,什么是运算符重载(operator overloading) 在软件开发过程中,运算符重载(英语:operator overloading)是多态的一种。运算符重载通常只是一种语法糖,这种语法对语言的功能没有影响,但是更方便程序员使用。让程序更加简洁,有更高的可读性。 二,语法糖的现实意义 在日
阅读全文
摘要:概述 现在很难想象移动应用程序不需要与后台交互或者存储结构化数据。现在开发,数据传输方式基本都是用JSON,在Flutter中是没有GSON/Jackson/Moshi这些库,因为这些库需要运行时反射,在Flutter是禁用的。运行时反射会干扰Dart的_tree shaking_。使用_tree
阅读全文
摘要:Flutter的请求网络有多种方式,一种是使用dart io中的HttpClient发起的请求,一种是使用dio库,另一种是使用http库,先学一下get和post,put、delete就等后面用到在学。下面就实践: 1.dart io发起的请求 1.1.get请求 import 'dart:io'
阅读全文
摘要:一,概述 在Dart1.9中加入了async和await关键字,有了这两个关键字,我们可以更简洁的编写异步代码,而不需要调用Future相关的API。他们允许你像写同步代码一样写异步代码和不需要使用Future接口。相当于都Future相关API接口的另一种封装,提供了一种更加简便的操作Future
阅读全文
摘要:一,概述 编程中的代码执行,通常分为同步与异步两种。 同步:简单说,同步就是按照代码的编写顺序,从上到下依次执行,这也是最简单的我们最常接触的一种形式。但是同步代码的缺点也显而易见,如果其中某一行或几行代码非常耗时,那么就会阻塞,使得后面的代码不能被立刻执行。 异步:异步的出现正是为了解决这种问题,
阅读全文
摘要:一,概述 通常来讲,Map是一个键值对相关的对象,键和值可以是任何类型的对象。每个键只出现一次,而一个值则可以出现多次。映射是动态集合。 换句话说,Maps可以在运行时增长和缩小。 dart:core库中的Map类提供了相同的支持。 二,声明 不指定泛型(普通方式,不指定任何类型,这时testMap
阅读全文
摘要:一,初始化List 非固定长度list var testList = List(); print(testList.length);//输出0 固定长度List var testList2 = List(2); print(testList2.length);//输出2 元素类型固定: var te
阅读全文
摘要:概述 异步任务在Dart中随处可见,例如许多库的方法调用都会返回Future对象来实现异步处理,我们也可以注册Handler来响应一些事件,如:鼠标点击事件,I/O流结束和定时器到期。 这篇文章主要介绍了Dart中与异步任务相关的消息循环机制,阅读完这篇文章后相信你可写出更赞的异步执行代码。你也能学
阅读全文
摘要:1.1函数的声明 如下方法 add就是函数声明的代码结构: void add(x,y){ print("
x−−y"); } void main(){ add(2,3); } 关于函数声明,它最重要的一个特征就是函数声明提升,意思是执行代码之前先读取函数声明。这意味着可以把函数声明放在调用它的
阅读全文
摘要:一,概述 继承(关键字 extends) 混入 mixins (关键字 with) 接口实现(关键字 implements) 这三种关系可以同时存在,但是有前后顺序: extens在前,mixins在中间,implements最后 二,继承(extends) Flutter中的继承和Java中的继承
阅读全文
摘要:一,匿名方法定义 二,匿名方法特性 可赋值给变量,通过变量进行调用 可在其他方法中直接调用或传递给其他方法 void main(List<String> args) { //无参匿名函数 var func = () { print("Hello"); }; func(); //有参匿名函数 var
阅读全文
摘要:概述: Dart2的异常与Java是非常类似的。Dart2的异常是Exception或者Error(包括它们的子类)的类型,甚至可以是非Exception或者Error类,也可以抛出,但是不建议这么使用。 Exception主要是程序本身可以处理的异常,比如:IOException。我们处理的异常也
阅读全文
摘要:一,概述 dart定义了下表所示的运算符。你可以重写许多这些运算符。 描述运算符 一元后缀 expr++ expr-- () [] . ?. 一元前缀 -expr !expr ~expr ++expr --expr 乘法类型 * / % ~/ 加法类型 + - 移动位运算 << >> 与位运算 &
阅读全文