Dart 语言 集合过滤与条件逻辑

Dart阿木 发布于 2025-06-19 5 次阅读


摘要:Dart语言作为一种现代化的编程语言,广泛应用于移动应用开发。集合操作和条件逻辑是编程中常见的操作,本文将围绕Dart语言的集合过滤与条件逻辑展开,通过实例代码详细解析其用法,帮助读者更好地理解和应用这些技术。

一、

在Dart编程中,集合(如List、Set、Map等)是处理数据的基本工具。集合操作和条件逻辑是编程中不可或缺的部分,它们可以帮助我们高效地处理数据,实现复杂的业务逻辑。本文将详细介绍Dart语言中的集合过滤与条件逻辑,并通过实例代码进行演示。

二、Dart集合简介

在Dart中,集合是一种有序的、可重复的元素集合。常见的集合类型有List、Set和Map等。下面简要介绍这些集合类型:

1. List:有序集合,元素可以是任意类型。

2. Set:无序集合,元素唯一,不允许重复。

3. Map:键值对集合,键和值可以是任意类型。

三、集合过滤

集合过滤是指从集合中筛选出满足特定条件的元素。在Dart中,可以使用`where`方法对List进行过滤,使用`where`方法对Set进行过滤,使用`where`方法或`whereKey`方法对Map进行过滤。

1. List过滤

dart

void main() {


List<int> numbers = [1, 2, 3, 4, 5];


List<int> evenNumbers = numbers.where((number) => number.isEven).toList();


print(evenNumbers); // 输出:[2, 4]


}


2. Set过滤

dart

void main() {


Set<int> numbers = {1, 2, 3, 4, 5};


Set<int> evenNumbers = numbers.where((number) => number.isEven).toSet();


print(evenNumbers); // 输出:{2, 4}


}


3. Map过滤

dart

void main() {


Map<String, int> scores = {


'Alice': 90,


'Bob': 85,


'Charlie': 95,


'David': 80


};


Map<String, int> highScores = scores.where((key, value) => value > 90).map((key, value) => MapEntry(key, value));


print(highScores); // 输出:{'Alice': 90, 'Charlie': 95}


}


四、条件逻辑

条件逻辑是编程中常用的技术,用于根据条件判断执行不同的代码块。在Dart中,可以使用`if-else`、`switch`和`try-catch`等语句实现条件逻辑。

1. if-else

dart

void main() {


int number = 10;


if (number > 0) {


print('Number is positive');


} else {


print('Number is not positive');


}


}


2. switch

dart

void main() {


int number = 2;


switch (number) {


case 1:


print('Number is 1');


break;


case 2:


print('Number is 2');


break;


default:


print('Number is neither 1 nor 2');


}


}


3. try-catch

dart

void main() {


try {


int result = 10 ~/ 0; // 除以0,会抛出异常


print('Result: $result');


} catch (e) {


print('Caught exception: $e');


}


}


五、总结

本文详细介绍了Dart语言中的集合过滤与条件逻辑。通过实例代码,读者可以了解到如何使用`where`方法对集合进行过滤,以及如何使用`if-else`、`switch`和`try-catch`等语句实现条件逻辑。掌握这些技术对于编写高效、可读的Dart代码具有重要意义。

在后续的学习和实践中,读者可以尝试将这些技术应用到实际项目中,不断积累经验,提高编程水平。