Dart 并发与 Isolate

Dart 并发与 Isolate

Dart 并发与 Isolate 并发是指同时处理多个任务的能力。 Dart 的并发模型不同于传统的多线程,它使用 Isolate(隔离区)来实现并行计算。 本章介绍 Dart 的并发模型、Isolate 的概念与使用以及消息传递机制。 Dart 并发模型 大多数编程语言使用共享内存的多线程模型,多个线程共享同一个内存空间。 这种模型的缺点是容易产生竞态条件(race condition)和死锁(deadlock)。 Dart 采..

Dart 单元测试

Dart 单元测试

Dart 单元测试 单元测试是保证代码质量的基础手段。 它验证每个最小功能单元(通常是函数或方法)的行为是否符合预期。 本章介绍 Dart 的 test 包使用、test() 测试用例编写、expect 断言以及 group() 分组测试。 test 包的安装与配置 Dart 官方提供了 test 包来编写和运行测试。 首先在 pubspec.yaml 中添加依赖: # 文件路径:pubspec.yaml dev_dependen..

Dart 包与库管理

Dart 包与库管理

Dart 包与库管理 当项目规模增长时,将代码拆分为多个文件和模块是必不可少的。 本章介绍 Dart 的包管理系统 pub、依赖配置文件 pubspec.yaml、import/export 语法以及如何创建自定义库。 pubspec.yaml 配置 pubspec.yaml 是每个 Dart 项目的核心配置文件,声明了项目的元数据和依赖。 一个典型的 pubspec.yaml 文件结构如下: 实例 [mycode4 typ..

Dart typedef 与函数类型

Dart typedef 与函数类型

Dart typedef 与函数类型 typedef 是 Dart 中的类型别名机制,它让你为复杂的类型定义简短易读的名称。 本章介绍 typedef 的两种用法:传统的函数类型别名,以及 Dart 3.0 引入的通用类型别名。 typedef 函数类型别名 当一个函数类型被频繁使用时,typedef 可以给它一个清晰的名字。 这对于回调函数、事件处理器等场景特别有用。 实例 [mycode4 type='dart&..

Dart 异步编程

Dart 异步编程

Dart 异步编程 异步编程是现代应用开发中最核心的能力之一。 无论是网络请求、文件读写还是数据库操作,都需要异步处理来避免阻塞主线程。 本章介绍 Future 的概念、async/await 语法以及如何处理异步错误。 为什么需要异步编程 先理解同步和异步的区别。 同步代码按顺序一行一行执行,上一行完成之前下一行不会开始。 如果某个操作需要等待(如网络请求),整个程序就会被卡住。 实例 对比同步和异步代码的执行效果: [my..

Dart Stream 流

Dart Stream 流

Dart Stream 流 Stream(流)是 Dart 中处理连续异步事件序列的机制。 如果说 Future 是一次性的异步结果,那么 Stream 就是多次的、持续不断的异步数据流。 本章介绍 Stream 的概念、await for 监听、StreamController 创建以及单订阅与广播流的区别。 Stream 与事件序列 Stream 就像一条传送带,数据会随着时间推移一个个到来。 你不需要一次性等待所有数据,而是来..

Dart 接口与 Mixin

Dart 接口与 Mixin

Dart 接口与 Mixin 虽然 Dart 只支持单继承,但通过接口和 Mixin 可以灵活地实现多重代码复用。 本章介绍如何使用 implements 实现接口、mixin 的代码复用以及 with 关键字。 implements 实现接口 在 Dart 中,每个类都隐式定义了一个接口。 使用 implements 关键字可以让一个类实现另一个类的接口,且可以实现多个。 实例 [mycode4 type='dar..

Dart 泛型

Dart 泛型

Dart 泛型 泛型(Generics)让你在编写代码时不指定具体类型,而是用类型参数占位,在使用时再确定类型。 泛型的核心价值是类型安全和代码复用——一份代码适配多种类型,同时编译器帮你检查类型错误。 为什么需要泛型 先看一个没有泛型时的痛点。 实例 没有泛型的写法: [mycode4 type='dart'] // 没有泛型:只能存放 Object,取出时需要手动转型 class IntBox { ..

Dart 枚举与符号

Dart 枚举与符号

Dart 枚举与符号 枚举(enum)用于定义一组有名字的常量值,让代码更具可读性。 本章介绍 Dart 枚举的定义方式、增强枚举(带方法和属性)以及 Symbol 和 Rune 类型。 enum 枚举定义 枚举是一种特殊的类,用于表示固定数量的常量值。 最典型的场景是表示状态、方向、颜色等有限选项。 实例 [mycode4 type='dart'] // 定义枚举 enum Status { pend..

Dart 异常处理

Dart 异常处理

Dart 异常处理 异常是程序运行时发生的错误事件。 良好的异常处理能让程序在遇到错误时优雅地降级,而不是直接崩溃。 本章介绍 Dart 中的 try/catch/finally、throw 抛出异常、on 捕获指定类型以及 rethrow 重新抛出。 try / catch / finally 基础 try 块中放置可能抛出异常的代码,catch 块捕获并处理异常,finally 块无论是否异常都会执行。 实例 [mycod..