Dart 语言基础
本文总结 Dart 语言的关键特点,旨在让有一定编程语言基础的同学快速了解、上手 Dart。
基本概念
- Dart 是面向对象语言,所有类型都是对象,连数字、方法和 null 都是对象,所有对象都继承自 Object,所有未初始化的对象值都为 null;
- Dart 没有 public 、private 等控制访问权限的关键字,而是在变量或方法名前加(或者不加)下划线 "_" 来控制访问权限,不加时相当于 public,加上后表示“库内私有”;
变量与类型
-
可以用 var 关键字声明一个让编译器推断的类型,也可以使用明确的静态类型定义变量;
建议:全局变量使用具体类型,局部变量使用 var
-
常用类型有 num、bool、String、List、Map
-
num:是 int(64位) 和 long(64位) 的父类,方便进行数字运算,需要注意的是“/”表示带余数的除法,取商除法使用:。其他常用方法有 parse 和 toString 等,如
int.parse('1'); 1.toString();
String:是 UTF-16 编码的字符序列。 可以使用单引号、双引号、三引号来创建字符串,可以在字符串中使用表达式:${expression},如果表达式为一个对象,Dart 会调用对象的 toString() 方法;可以使用 + 拼接字符串;
bool:只有 true 对象才被认为是 true,所有其他的值(如:1、'a')都是 flase;
List:
var list = [1, 2, 3]; print(list[1]);
-
map:示例如下
// 可以使用构造函数初始化,也可以使用如下方式: var mapType = { 'first' : 'ronnie', 'second' : 'hendry' } // 修改值 mapType['fist'] = 'num1'; // 添加值 mapType['four'] = 'selbi'
-
static:
final: 含义与 java 一致,顶级的 final 变量或者类中的 final 变量在第一次使用的时候初始化;
const:编译时常量,const 变量同时也是 final 变量。const 关键字不仅仅只用来定义常量。 还能定义构造函数,这种类型的构造函数创建的对象是不可改变的。任何变量都可以有一个不变的值。
方法
- 方法也是对象并且具有一种类型:Function;
- 对于只有一个表达式的方法,你可以选择使用胖箭头"=>"缩写语法来定义;
- 参数:方法的参数有两个维度的定义:可选参数、命名参数
- 可选参数:必需的参数在参数列表前面, 后面是可选参数。
未完待续...
其他
- assert:使用:
assert( count == null )
,生产模式下,assert() 语句被忽略,检查模式下,如果条件不为 true,则抛出异常;