is、is!操作符判断对象是否为指定类型,如num、String等。 * num * int 取值范围:-2^53 to 2^53 * double
// String -> int var one = int.parse('1'); // String -> double var onePointOne = double.parse('1.1'); // int -> String String oneAsString = 1.toString(); // double -> String 注意括号中要有小数点位数,否则报错 String piAsString = 3.14159.toStringAsFixed(2);String
Dart 的String 是 UTF-16 编码的一个队列。‘…’,”…”表示字符串。”’…”’,“”“…”“”表示多行字符串。r’…’,r”…”表示“raw”字符串。bool
Dart 是强bool 类型检查,只有bool 类型的值是”true“ 才被认为是true。List
// 使用List的构造函数,也可以添加int参数,表示List固定长度,不能进行添加 删除操作 var vegetables = new List(); // 或者简单的用List来赋值 var fruits = ['apples', 'oranges']; // 添加元素 fruits.add('kiwis'); // 添加多个元素 fruits.addAll(['grapes', 'bananas']); // 获取List的长度 assert(fruits.length == 5); // 获取第一个元素 fruits.first; // 获取元素最后一个元素 fruits.last; // 利用索引获取元素 assert(fruits[0] == 'apples'); // 查找某个元素的索引号 assert(fruits.indexOf('apples') == 0); // 利用索引号删除某个元素,返回删除的元素 var appleIndex = fruits.indexOf('apples'); fruits.removeAt(appleIndex); // 删除指定元素,成功返回true,失败返回false fruits.remove('apples'); // 删除最后一个元素,返回删除的元素 fruits.removeLast(); // 删除指定范围元素,含头不含尾,成功返回null fruits.removeRange(start,end); // 删除指定条件的元素,成功返回null fruits.removeWhere((item) => item.length >6); // 删除所有的元素 fruits.clear(); assert(fruits.length == 0); // sort()对元素进行排序,传入一个函数作为参数,return <0表示由小到大, >0表示由大到小 fruits.sort((a, b) => a.compareTo(b)); Map // Map的声明 var hawaiianBeaches = { 'oahu' : ['waikiki', 'kailua', 'waimanalo'], 'big island' : ['wailea bay', 'pololu beach'], 'kauai' : ['hanalei', 'poipu'] }; var searchTerms = new Map(); // 指定键值对的参数类型 var nobleGases = new Map<int, String>(); // Map的赋值,中括号中是Key,这里可不是数组 nobleGase[54] = 'dart'; //Map中的键值对是唯一的 //同Set不同,第二次输入的Key如果存在,Value会覆盖之前的数据 nobleGases[54] = 'xenon'; assert(nobleGases[54] == 'xenon'); // 检索Map是否含有某Key assert(nobleGases.containsKey(54)); //删除某个键值对 nobleGases.remove(54); assert(!nobleGases.containsKey(54)); Runes Dart 中 runes 是UTF-32字符集的string 对象。 string = 'Dart'; string.codeUnitAt(0); // 68 返回指定位置index的16位UTF-16编码单元 string.codeUnits; // [68, 97, 114, 116] 返回一个只读的List,包含字符串中所有的UTF-16编码单元。 Symbol symbol字面量是编译时常量,在标识符前面加‘#’。如果是动态确定,则使用Symbol构造函数,通过new来实例化。所以的函数都会有返回值。如果没有指定函数返回值,则默认的返回值是null 。没有返回值的函数,系统会在最后添加隐式的return 语句。
函数可以有两中类型的参数:
必须的——必须的参数放在参数列表的前面。可选的——可选的参数跟在必须的参数后面。可以通过名字或位置指定可选参数,但是两个不能同时存在。 * 命名可选参数使用{},默认值使用冒号“:”,调用时需指明参数名,与顺序无关。 * 位置可选参数使用[],默认值使用等号“=”,调用时参数按顺序赋值。
