Flutter/Dart第08天:Dart类型(内置类型、记录、集合、泛型和类型别名)
Dart内置类型(共10类)Dart官网文档:https://dart.dev/language/built-in-types
Dart内置类型即Dart SDK自带的类型,我们编程过程中可直接使用的类型,主要分为10类:
[*]数值类型:包括int类、double类等。
[*]字符串类型:即String类。
[*]布尔类型:即bool类。
[*]记录类型:即Record类,Dart 3中开始支持(最新版本的Java 21也支持)。
[*]列表类型:即List类,同时也是数组。
[*]Set类型:即Set类。
[*]映射类型:即Map类。
[*]字符类型:与字符相关处理。
[*]符合类型:即Symbol类。
[*]特殊值:null空值。
Dart中类型的其他一些规则:
[*]Object类是Dart中除Null之外的所有类的基类。扩展问题:Dart中顶层类是什么呢?
[*]Enum类是Dart中所有枚举类的基类。扩展问题:Enum类是Object的子类吗?答案:是。
[*]dynamic类型Dart的静态检测会失效,容易引发空安全等其他运行时错误,建议使用Object或者Object?代替。
[*]Future和Stream支持异步编程。
[*]Never一般用于总是抛出异常的函数,表明表达式用于无法成功执行。
[*]void表明值不会被再次使用,一般用户函数返回值。
数字类型(int和double)
Dart中数字类型类结构如下:
https://img2023.cnblogs.com/blog/198133/202310/198133-20231003215341826-584474968.jpg
int和double都是num类的子类。int为不超过64位的整数,double为64位双精度浮点数。
num类型支持操作:加+,减-,乘*,除/,abs()绝对值,ceil()向上取整,floor()向下取整操作。特别注意:位操作,如>>右移或者 doublevar onePointOne = double.parse('1.1');assert(onePointOne == 1.1);// int -> StringString oneAsString = 1.toString();assert(oneAsString == '1');// double -> StringString piAsString = 3.14159.toStringAsFixed(2);assert(piAsString == '3.14');代码样例:如下代码,int类型位操作。
assert((3
页:
[1]