dart快速学习
有其他语言基础可快速阅读
-
数据类型
-
类型:
数值型-number
整形-int
浮点型-double
字符串-String
布尔型-Boolean
列表-List
键值对-Map
Runes、Symbols(不常用) -
数值型操作:
运算符: +、-、*、/、~/取整、%取余
常用属性: isNaN是否是非数字、isEven是否是偶数、isOdd是否是奇数等
常用方法:abs() //取绝对值 round() //四舍五入 floor() //不大于调用者的最接近的整数 ceil() //不小于调用者的最接近的整数 toInt() //浮点型转整形 toDouble() //整形转浮点型
-
字符串
1. 使用单引号,双引号创建字符串 2. 使用三个引号或双引号创建多行字符串 3. 使用r创建原始raw字符串
-
字符串操作:
1. :+、*、==、[] 2. 插值表达式: ${expression} 3. 常用属性: length、isEmpty、isNotEmpty 4. 字符串常用方法: contains() //是否包含字符串 subString() //截取字符串个 startsWith() //参数是否开头 endsWith() //参数是否结尾 indexOf() lastIndexOf() toLowerCase() //小写转换 toUpperCase() //大写转换 trim() //截取前后的空格 trimLeft() trimRight() split() //分割字符串 replaceXXX() //替换
-
布尔型-bool
-
List( 数组)创建
1. 创建List: var list = [1,2,3] 2. 创建不可变的List: var list = const[1,2,3] 3. 构造创建:var list = new List()
-
List-常用操作
[] length() add() insert() //插入 remove() clear() indexOf() lastIndexOf() sort() //排序 sublist() //截取元素 shuffle() //数组打乱顺序 asMap() //转换map,索引自增长 forEach()
-
Map-创建
1. 创建Map:var language = {'first':'Dart','second':'Java'}; 2. 创建不可变Map:var language = const{'first':'Dart','second':'Java'}; 3. 构造创建: var language = new Map();
-
Map-常用操作
[] length isEmpty() //是否为空 isNotEmpty() Keys values containsKey() containsValue() remove() forEach()
-
注意
dynamic var类型dart会自动识别类型。如果想对象不限类型用dynamic
-
-
运算符
-
算术运算符
加减乘除: +,-,*,/,~/,% 递增递减: ++var,var++,--var,var--
-
关系运算符
运算符: !,&&,|| 针对布尔类型运算
-
赋值运算符
基础运算符: =,??= 复合运算符: +=,-=,*=,/=,%=,~/= //bcc ??=10;如果bcc值为空,则bcc=10
-
条件表达式
三目运算符: condition ? expr1 : expr2 ??运算符: expr1 ?? expr2 //String cee = aee??bee;如果aee为空就等于bee
-
-
控制流语句
-
条件语句
if语句 if...else if语句 if...else if…else语句
-
循环语句
for循环 for...in循环
-
while语句
while循环 do...while循环
-
break和continue
终止循环: break 跳出当前循环: continue
-
switch…case语句
比较类型: num,String,编译期常量,对象,枚举 非空case必须有一个break default处理默认情况 continue跳转标签
-
-
方法
-
方法定义
返回类型 方法名 (参数1, 参数2,....) { 方法体... return 返回值 }
-
方法特性
方法也是对象,并且有具体类型Function; 返回值类型、参数类型都可以省略 箭头语法: =>expr 是{return expr;}缩写.只适用于一个表达式 方法都有返回值.如果没有指定,默认return null最后一句执行
-
可选参数
可选命名参数:{param1,param2,...} 可选位置参数:[param1,param2,...] 如果存在具体参数,可选参数声明,必须在参数后面
-
默认参数值
使用 = 在可选参数指定默认值 默认值只能是编译时常量
-
方法对象
方法可以作为对象赋值给其他变量 方法可作为参数传递给其它方法
-
匿名方法
(参数1,参数2,...) { 方法体... return 返回值 }
-
匿名方法特性
可赋值给变量,通过变量进行调用 可在其它方法中直接调用或传递给其它方法
-
闭包
闭包是一个方法(对象) 闭包定义在其它方法内部 闭包能够访问外部方法内的局部变量,并持有其状态
-