Flutter学习笔记-Dart语言学习(五)

我请教下,Flutter学习笔记-Dart语言学习(五)
最新回答
花辞树

2025-04-28 16:49:54

在 Dart 中,数组通过 List 对象表示,常称为 List。创建 List 字面量时,使用逗号分隔表达式或值并以方括号包裹。List 的索引从0开始,第一个元素的索引为0,最后一个元素的索引为 list.length - 1。通过 list.length 可以获取 List 的长度,list[index] 可以获取指定索引的元素。

在 List 字面量前添加 const 关键字,可以创建一个编译时常量。Dart 在2.3版本引入了扩展操作符(...)和空感知扩展操作符(...?),简化了将多个元素插入集合的方法。

例如,将一个 List 的所有元素插入到另一个 List 中,可以使用扩展操作符(...)。如果右侧可能为 null,则使用 null-aware 扩展操作符(...?)避免异常。Dart 中的集合支持条件判断(if)和循环(for),在构建集合时可以使用这些操作。

Set 是一组无序的特定元素集合。使用 Set 字面量创建,或在 {} 前加上类型参数创建一个空 Set。使用 add() 或 addAll() 方法向 Set 添加项目。Set 的长度通过 .length 获取。

在 Set 前添加 const 可以创建一个编译时常量。从2.3版本开始,Set 支持使用扩展操作符和集合的 if 和 for 操作。

Map 是关联键和值的对象,键唯一,值可重复。Map 以字面量或 Map 类型提供。创建 Map 的字面量例子如下。使用 Map 构造器同样可以创建 Map。

向 Map 添加键值对类似 JavaScript 的操作,通过键获取值也类似。如果键不存在,则返回 null。使用 .length 获取 Map 中的键值对数量。在 Map 前添加 const 可创建一个编译时常量,Map 同样支持扩展操作符和集合操作。

在 Dart 中,runes 公开字符串的 Unicode 码位,可通过 characters 包访问或操作用户感知的字符。表示 Unicode 字符常用 \uXXXX,对于四位数或大于四位数的 16 进制数字,使用大括号。characters getter 返回一系列 grapheme clusters 的字符串。

Symbol 表示声明的操作符或标识符,用于通过名称引用标识符的 API,即便代码压缩后名称改变,Symbol 保持不变。获取 Symbol 可以在标识符前添加 # 前缀。Symbol 字面量为编译时常量。