Dart 基础

Souleigh ✨ 等级 144 0 0

Dart 基础

1.类型

 String

int  整数值,其取值通常位于 -253 和 253 之间

double  64-bit (双精度) 浮点数,符合 IEEE 754 标准。

DateTime

Map 是一个键值相关的对象。

Function 可以赋值给变量,也可以当作其他方法的参数。可使用胖箭头。可选位置参数使用'[]',将参数放到'[]'中。

bool 布尔类型的对象只有 true 和 false。在判断的时候只有true 才认为时true 其他都是false, 这里设计与js 是有去别的。 

2.语言特性

  • 字符串中引用变量或者表达式 $variableName or ${expression}
  • 打印内容print()
  • 所有引用使用的变量都是对象,每个对象都是一个类的实例,数字,方法,null,都是对象。所有的对象都继承Object类。
  • 没有指定类型的变量类型为动态的(dynamic)。
  • Dart在运行之前会先解析代码。
  • 如果一个标识符以 (_)开头,则该标识符在库内是私有的。
  • 没有初始化的变量自动获取一个默认值为null。
  • 一个final 变量只能赋值一次,一个const 变量时编译时常量。const 变量同时也是final变量。顶级的final变量或者类中的final变量在第一次使用的时候初始化。
  • 实例变量可以为final但是不能时const。
  • 使用三个单引号或者双引号可创建多行字符串对象。
  • .. 语法为 级联调用(cascade)。 使用级联调用语法, 你可以在一个对象上执行多个操作。
  • 在Dart 中数组就是Lists。
  • Map 是一个键值对相关的对象。
  • Dart 是静态作用域语言,大括号里面定义的变量只能在大括号里面访问。
  • 所有函数都有返回值,如果没有返回值,默认把return null,作为函数的最后一个语句执行。

3.操作符

  • 类型判断操作符
as 类型转换
is 如果对象是指定类型返回True
is!如果对象是指定类型返回false 
  • 赋值操作符
= 赋值
??= 值为null,则赋值。 
  • 逻辑操作符
!expr 对表达式结果取反
|| 逻辑OR
&& 逻辑AND 
  • 条件表达式
? :
?? 如果是null,则执行后续返回其结果。 
  • 级联操作符
.. 可以在一个对象连续调用多个函数,以及访问成员变量。可以避免创建临时变量,代码看起来流畅。 
  • 其他
?.  使用?. 替代 . 
object.name = 'name';
object?.name = 'name';
如果object 为null 那么第二种方式会直接返回null,第一种会异常 

3.异常处理

可以使用on 或者 catch 来声明捕获语句,也可以 同时使用。使用 on 来指定异常类型,使用 catch 来 捕获异常对象。
使用 rethrow 关键字可以 把捕获的异常给 重新抛出。
要确保某些代码执行,不管有没有出现异常都需要执行,可以使用 一个 finally 语句来实现。如果没有 catch 语句来捕获异常, 则在执行完 finally 语句后, 异常被抛出了
try {

} on OutOfLlamasException {

} catch {

} finally {
  // Always clean up, even if an exception is thrown.
  cleanLlamaStalls();
} 
预览图
收藏
评论区