Dart 语言学习 04 字符串、列表和映射

Dart 语言学习 04

Author : ScorpioDong

1. 字符串

Dart字符串数据类型表示一系列字符。Dart字符串是一系列UTF 16代码单元。

1.1 字符串拼接

字符串采用 + 进行拼接操作:

String str = "hello" + " " + "dart";
print(str);

执行结果:

hello dart

字符串可以使用${}来插入字符串中Dart表达式的值:

int n = 1 + 2;
String str = "this is number ${n}";
print(str);

执行结果:

this is number 3

1.2 常用字符串属性

属性 描述
codeUnits 返回此字符串的UTF-16代码单元的不可修改列表
isEmpty 字符串是否为空,布尔值
length 字符串长度

1.3 常用字符串方法

方法 描述
toLowerCase() 将此字符串中的所有字符转换为小写。
toUpperCase() 将此字符串中的所有字符转换为大写。
trim() 返回没有任何前导和尾随空格的字符串。
compareTo() 将此对象与另一对象进行比较。
replaceAll() 用给定值替换与指定模式匹配的所有子字符串。
split() 在指定分隔符的匹配处拆分字符串并返回子字符串列表。
substring() 返回此字符串的子字符串,字符串从startIndex(包括)延伸到endIndexexclusive
toString() 返回此对象的字符串表示形式。
codeUnitAt() 返回给定索引处的16位UTF-16代码单元。

2. 列表

编程中最常使用的集合是数组。Dart以列表(List)对象的形式表示数组。

2.1 固定长度列表

  1. 声明: var 列表名 = new List(列表长度);
  2. 初始化列表:列表名[索引] = 值;
var list = new List(3);
list[0] = 1;
list[1] = 2;
list[2] = 3;
print(list);

执行结果

[1, 2, 3]

2.2 可变长列表

  1. 声明:
    1. var 列表名 = [列表初始化元素];
    2. var 列表名 = new List();
  2. 初始化列表:
    1. 初始化元素声明的列表:
      1. 使用[]修改已经存在的元素;
      2. 使用add()方法在列表尾部添加新的元素(扩容)
    2. 使用List()声明的元素:
      1. 先使用add()方法添加元素;
      2. 添加后的元素使用[]修改

2.3 列表常用属性

属性 描述
first 返回第一个元素
isEmpty 列表是否为空
isNotEmpty 列表是否非空
length 列表长度
last 返回最后一个元素
reversed 返回倒序列表
single 判读列表是否只有一个元素,并返回该元素

2.4 列表常用方法

方法 描述
add() 添加新元素到末尾
insert(index) 添加新元素到指定位置
remove(index) 删除指定位置的元素

3. 映射

Dart映射(Map对象)是一个简单的键/值对。映射中的键和值可以是任何类型。映射是动态集合。换句话说,Map可以在运行时增长和缩小。

3.1 声明

  1. 初始化元素声明:var 映射名 = {键:值,...};
  2. 构造器声明:
    1. var 映射名 = new Map(),声明并第一次初始化后确定键值类型
    2. var 映射名 = new Map<键类型,值类型>(),声明后立刻确定键值类型

3.2 映射常用属性

属性 描述
Keys 返回键集合
Values 返回值集合
Length Map大小
isEmpty Map是否为空
isNotEmpty Map是否非空

3.2 映射常用方法

方法 描述
addAll() 向映射中添加其他所有键值对
clear() 从映射中删除所有键值对
remove() 删除一对键值对
forEach() 将for应用于映射的每个键值对

4. 枚举

枚举用于定义命名常量值,使用enum关键字声明枚举类型。

enum Status {
    none,
    running,
    stopped,
    paused
}
main() {
  print(Status.running);
  print(Status.running.index);
}

执行结果

Status.running
1
发布了44 篇原创文章 · 获赞 36 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/m0_37771142/article/details/104850373