为什么学 Dart?先看清你的缺口

很多人以为学 Flutter 直接上手写 UI 就行,结果卡在语法上:变量到底用 var 还是 final?null 安全怎么处理?异步回调写成地狱式嵌套?这门 Dart 详解课解决的核心问题,正是跨平台开发前的语言基础缺失。它不教你怎么画界面,而是把 Dart 作为一门现代静态类型语言的地基打牢。如果你之前只会 Python 的动态随意、JavaScript 的松散 typing,或者 Java 的老派语法,这里能帮你建立对类型系统、空安全、异步模型的准确认知。

适合有一定编程经验、准备转向 Flutter 跨平台开发的学习者。完全零基础者可先补一门通用编程入门,再来看这门课会更顺畅。课程从 SDK 安装、IDE 配置讲起,确保你环境跑通,再进入程序结构、变量常量、数据类型、流程控制——这些看似基础,却是后续理解 Flutter 组件状态管理、异步网络请求的必备前提。建议先看前三章:Dart 简介与环境搭建、变量与常量、内建数据类型。这部分决定了你后面写代码是否规范。流程控制部分可快速过,重点在于理解 Dart 中 if/switch 与现代语言的差异,以及 null 安全的引入逻辑。Runes 等特殊类型了解即可,实际开发中极少用到。

学完能做什么?资料怎么配合练习

学完这门课后,你应该能独立写出结构清晰、类型安全、正确处理 null 和异步的 Dart 脚本。不是能看懂 Flutter 文档,而是能自己用 Dart 实现数据处理、文件读写、并发任务等实际场景。这是成为合格 Flutter 开发者的必要条件,但不是充分条件——你还需要后续学习 Flutter 框架本身。

资料包以视频为主,每节时长控制在五到十六分钟,节奏紧凑。建议边看边敲代码,不要只看不练。Dart 的类型系统和空安全机制,必须亲手写才能形成肌肉记忆。遇到报错时,对照视频中作者的调试思路,理解错误来源而非直接复制答案。课程未提供额外练习题集,因此你需要自行在 DartPad 或本地 IDE 中拓展练习。比如用 List 和 Map 实现一个简易通讯录,用 async await 模拟网络请求,用 Set 去重处理用户标签。

关键能力目标包括:你能否在不查文档的情况下,正确声明一个可空的字符串变量?能否写出一个安全的 null 合并表达式?能否用 Future 处理两个异步任务的顺序执行?如果这三个问题你能流利回答并写出代码,这门课的目标就达成了。

课程目录

1-1 [Dart基础] Dart简介 (25:21)
1-2 [Dart基础] 安装Dart SDK和IDE (08:57)
1-3 [Dart基础] Dart的程序结构 (05:56)
2-1 [变量与常量] 变量 (04:45)
2-2 [变量与常量] 常量和常量列表 (08:38)
3-1 [内建数据类型] 数值类型(整型和浮点类型) (09:13)
3-2 [内建数据类型] 字符串 (10:33)
3-3 [内建数据类型] 布尔类型 (04:08)
3-4 [内建数据类型] 列表(List) (10:03)
3-5 [内建数据类型] 集合(Set) (08:18)
3-6 [内建数据类型] 映射(Map) (10:50)
3-7 [内建数据类型] Runes与特殊字符 (03:55)
4-1 [流程控制语句] 条件语句(if和switch) (16:26)
4-2 [流程控制语句] for和forin循环 (09:33)
4-3 [流程控制语句] while和dowhile循环 (04:48)
4-4 [流程控制语句] break和continue (05:09)
5-1 [函数与运算符] 函数基础 (03:31)
5-2 [函数与运算符] 可选参数 (12:09)
5-3 [函数与运算符] main函数和命令行参数 (03:21)
5-4 [函数与运算符] 函数类型 (07:25)
5-5 [函数与运算符] 匿名函数 (03:51)
5-6 [函数与运算符] 作用域与返回值 (09:01)
5-7 [函数与运算符] Dart支持的8种运算符 (21:51)
6-1 [类] 定义类,并创建类的实例 (03:19)
6-2 [类] 构造方法(1) (07:48)
6-3 [类] 构造方法(2)【实现单件模式】 (10:33)
6-4 [类] 普通方法和属性方法 (12:01)
6-5 [类] 抽象类和抽象方法 (05:50)
6-6 [类] 隐式接口 (06:55)
6-7 [类] 类的继承和重写方法 (04:07)
6-8 [类] 运算符重载 (06:28)
6-9 [类] 访问对象中不存在的成员 (04:44)
6-10 [类] 枚举类型 (04:36)
6-11 [类] 混合(mixin) (09:42)
6-12 [类] 静态变量和静态方法 (05:32)
7-1 [泛型] 基础知识 (13:54)
7-2 [泛型] 在集合中使用泛型 (06:09)
7-3 [泛型] 限制泛型 (04:01)
7-4 [泛型] 泛型方法 (04:59)
8-1 [程序库] 引用和创建程序库 (05:44)
8-2 [程序库] 为引用库起一个别名 (02:19)
8-3 [程序库] 引用库中的部分成员 (02:32)
8-4 [程序库] 惰性装载程序库 (02:50)
8-5 [程序库] 隐藏成员 (03:31)
9-1 [异步] 处理Future(async和await) (06:56)
9-2 [异步] 定义和调用异步函数 (03:03)
9-3 [异步] await for语句 (03:23)
10-1 [异常] 抛出异常 (03:18)
10-2 [异常] 捕捉异常 (07:48)
10-3 [异常] finally (01:40)
11-1 [产生器] 同步产生器 (08:37)
11-2 [产生器] 异步产生器 (04:28)
12-1 [其他Dart高级技术] 像调用函数一样调用类的实例 (02:24)
12-2 [其他Dart高级技术] 自定义函数类型 (04:13)
12-3 [其他Dart高级技术] 元数据 (10:12)