Dart 简介
Dart 是一种由 Google 开发的编程语言,它最初是为 Web 和客户端/服务器应用程序设计的。Dart 是一种面向对象的语言,支持类型推断、函数式编程和异步编程等特性。Dart 可以编译成 JavaScript,也可以通过 Dart 虚拟机(Dart VM)直接运行。
Dart 的主要特点
- 简单易学:Dart 的语法结构类似于 Java 和 C#,对于有这些语言背景的开发者来说很容易上手。
- 快速开发:Dart 支持热重载(Hot Reload),可以在不影响程序运行的情况下修改代码并立即看到效果。
- 跨平台:通过 Flutter 框架,Dart 可以开发出运行在不同平台的应用,包括 Android、iOS、Web 和桌面应用。
- 高性能:Dart 采用 JIT(Just-In-Time)编译方式,在开发阶段提供快速的迭代能力;而 AOT(Ahead-Of-Time)编译则用于生产环境,确保应用具有较高的性能。
安装 Dart
Windows 安装步骤
- 访问 Dart SDK 官方下载页面 下载适用于 Windows 的安装包。
- 解压下载的文件到一个你选择的目录,例如
C:\dart-sdk
。 - 将 Dart 的 bin 目录添加到系统的 PATH 环境变量中:
- 打开系统属性 -> 高级系统设置 -> 环境变量。
- 在“系统变量”部分找到
Path
变量并编辑,添加 Dart 的 bin 目录路径,如C:\dart-sdk\bin
。
- 打开命令提示符,输入
dart --version
查看是否正确安装。
macOS 安装步骤
- 使用 Homebrew 安装 Dart:
brew tap dart-lang/dart brew install dart
- 或者,你可以直接从 Dart SDK 官方下载页面 下载安装包,并按照指示进行安装。
- 安装完成后,打开终端并输入
dart --version
来验证安装。
Linux 安装步骤
- 使用 apt-get 安装 Dart:
sudo apt-get update sudo apt-get install apt-transport-https sudo sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -' sudo sh -c 'curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list' sudo apt-get update sudo apt-get install dart
- 或者,直接从 Dart SDK 官方下载页面 下载安装包,并按照指示进行安装。
- 安装完成后,打开终端并输入
dart --version
来验证安装。
Dart 基础语法
变量声明
Dart 是一种静态类型语言,这意味着你必须在声明变量时指定其类型。但是,Dart 支持类型推断,因此你可以省略类型声明,让编译器自动推断。
// 显式类型声明 int age = 30; String name = "Alice"; // 类型推断 var score = 95; // 编译器会自动推断出 score 是 int 类型 var greeting = "Hello"; // 编译器会自动推断出 greeting 是 String 类型
数据类型
Dart 支持多种数据类型,包括基本数据类型和复杂数据类型。
基本数据类型
num
:数值类型,可以进一步分为int
和double
。bool
:布尔值,只有两个值:true
和false
。String
:字符串类型,使用双引号或单引号表示。
复杂数据类型
List
:列表类型,类似于数组。Map
:映射类型,用于存储键值对。Set
:集合类型,用于存储不重复的元素。
控制流语句
Dart 提供了丰富的控制流语句,包括条件语句、循环语句等。
if 语句
if (condition) { // 条件为 true 时执行的代码块 } else { // 条件为 false 时执行的代码块 }
switch 语句
-- -------------------- ---- ------- ------ ------------ - ---- ------- -- - ---------- -- ------ ------- ------ ---- ------- -- - ---------- -- ------ ------- ------ -------- -- - ---------- ----- ---- ---------- -
循环语句
for 循环
for (int i = 0; i < 10; i++) { print(i); }
while 循环
while (condition) { // 当 condition 为 true 时执行的代码块 }
do-while 循环
do { // 至少执行一次的代码块 } while (condition);
函数
Dart 支持定义函数,函数可以有返回值,也可以没有返回值。函数可以接受参数,也可以不接受参数。
定义函数
void sayHello(String name) { print("Hello, $name!"); } int sum(int a, int b) { return a + b; }
匿名函数
Dart 支持匿名函数,也称为闭包。
var greet = (String name) { print("Hello, $name!"); }; greet("Bob"); // 输出 "Hello, Bob!"
异常处理
Dart 支持异常处理机制,通过 try-catch-finally 结构来处理可能出现的错误。
try { // 可能会抛出异常的代码块 } catch (e) { // 处理异常的代码块 } finally { // 无论是否发生异常都会执行的代码块 }
类与对象
Dart 是一种面向对象的语言,支持类和对象的概念。
定义类
-- -------------------- ---- ------- ----- ------ - ------ ----- --- ---- ----------------- ---------- ---- ----------- - --------- ---- -- ----- --- - -- ---- ----- ------- - -
创建对象
Person person = Person("Alice", 30); person.introduce(); // 输出 "My name is Alice and I am 30 years old."
继承与接口
Dart 支持继承和实现接口。
继承
-- -------------------- ---- ------- ----- ------- ------- ------ - ------ ------- -------------- ----- --- ---- ------------ - ----------- ----- ---- ------- - ------------ -- -------- -- ----------- - - ------- ------- - -------------- --- ------- -------------------- -- -- --- ---- -- --- --- - -- -- ----- ----- ---------------- -- -- ---- -- -------- -- -----
实现接口
-- -------------------- ---- ------- -------- ----- ------ - ---- ------ - ----- --- ---------- ------ - --------- ---- ----- - ---------- -- ---------- - - --- --- - ------ ---------- -- -- ---- -- --------
泛型
Dart 支持泛型,允许你在定义类、方法或函数时使用类型参数。
定义泛型类
-- -------------------- ---- ------- ----- ------ - - ----- --------------- - --------- -- ----- - ----------- --------- - --------------------- --------------------------- -- -- -------
泛型方法
T getFirstElement<T>(List<T> list) { return list.first; } List<int> numbers = [1, 2, 3]; print(getFirstElement(numbers)); // 输出 1
异步编程
Dart 提供了 Future 和 Stream 来处理异步操作。
Future
-- -------------------- ---- ------- -------------- ----------- ----- - ----- -------------------------------- ---- ------ ----- --------- - ------------ ------ ----- - ------ ---- - ----- ------------ ------------ -- -- ----- ------------ -
Stream
-- -------------------- ---- ------- ----------- --------------- --- ------ - --- ---- - - -- - -- --- ---- - ----- -------------------------------- ---- ----- -- - - ---- ------ - -------------------------- ------ - ------------- --- -- -- -- -- -------- -
总结
本章介绍了 Dart 语言的基础知识,包括 Dart 的安装、基础语法、控制流语句、函数、异常处理、类与对象、继承与接口、泛型以及异步编程等内容。通过学习这些内容,你将能够开始使用 Dart 进行基本的编程,并为进一步学习 Flutter 打下坚实的基础。