Dart 是一种由 Google 开发的开源编程语言,它可以用来构建服务器、Web 应用和移动应用。Dart 语言设计得既现代化又易于学习,它支持面向对象编程(OOP)、函数式编程风格,并且具有类似于 Java 或 C# 的语法。Dart 语言和 Flutter 框架紧密相关,Flutter 是一个由 Google 开发的开源 UI 软件开发工具包(SDK),用于构建跨平台的应用程序。Flutter 使用 Dart 作为其主要编程语言,这使得开发者可以使用一套代码库来创建高性能、美观的应用程序,并且这些应用程序可以在 iOS、Android、Web、Windows、macOS 和 Linux 上运行。
Dart 基础入门
-
安装 Dart SDK
要开始使用 Dart,首先需要安装 Dart SDK。你可以从 Dart 官方网站下载适合你操作系统的版本。安装完成后,可以通过命令行工具 dart 来运行 Dart 程序。 -
创建你的第一个 Dart 程序
打开文本编辑器或 IDE(如 VS Code),创建一个名为 hello_world.dart 的文件,并添加以下代码:
void main() {
print('Hello, World!');
}
变量,常量与数据类型
Dart 支持多种数据类型,包括数字(int, double)、字符串(String)、布尔值(bool)等。声明变量时可以指定类型,也可以让编译器自动推断类型:
int age = 25;
double height = 5.9;
String name = "Alice";
bool isStudent = true;
final 或者 const 可以定义常量,也都能自动推断类型。类的实例常量,只能用 final,不能用 const。const 适用于在编译时就确定的常量,final 允许在运行时才确定值:
final name = 'Bob';
final String nickname = 'Bobby';
控制流语句
if/else 用于条件判断。
for 和 while 循环用于重复执行一段代码。
// if-else 示例
int number = 5;
if (number > 0) {
print("Number is positive.");
} else {
print("Number is not positive.");
}
// for 循环示例
for (int i = 0; i < 5; i++) {
print(i);
}
// while 循环示例
int j = 0;
while (j < 5) {
print(j);
j++;
}
函数
函数是组织代码的基本单位,可以帮助实现代码重用。在 Dart 中定义函数使用 functionName(parameters) => returnType { … } 的形式。
int add(int a, int b) {
return a + b;
}
// 使用箭头函数简化
int subtract(int a, int b) => a - b;
void main() {
print(add(10, 20));
print(subtract(10, 20));
}
类与对象
Dart 是面向对象的语言,几乎所有的实体都是对象。类定义了对象的数据结构以及可以在这些对象上执行的操作。
class Person {
String name;
int age;
// 构造函数
Person(this.name, this.age);
void sayHello() {
print("Hello, my name is $name and I am $age years old.");
}
}
void main() {
var person = Person("John", 30);
person.sayHello();
}
静态成员
静态成员属于类而不是类的实例。这包括静态变量、静态方法等:
class Calculator {
static int addNumbers(int a, int b) => a + b;
}
void main() {
print(Calculator.addNumbers(5, 7)); // 输出 12
}
同样,和java一样可以建立枚举类:
enum Color { red, green, blue }
void main() {
for (var color in Color.values) {
print(color); // 输出 red, green, blue
}
}
为什么 Flutter 选择 Dart
- 性能: Dart 可以编译成本地机器码,这为 Flutter 应用提供了接近原生应用的性能。提前编译 (AOT) 技术允许在发布时将 Dart 代码转换成高效的本地代码。即时编译 (JIT) 在开发过程中提供快速迭代。
- 开发效率: Dart 的语法简洁明了,易于学习和使用。热重载功能允许开发者在不丢失状态的情况下即时查看代码更改的效果。强大的类型系统减少了运行时错误,同时保持开发过程中的灵活性。
- 统一的工具链 Dart 和 Flutter 共享相同的工具链,包括分析器、调试器和测试框架等。这种一致性简化了开发流程,提高了工作效率。
- 丰富的库支持: Dart 生态系统提供了大量的库,这些库可以通过 pub.dev 获取,帮助开发者轻松集成各种功能。Flutter 自带了许多高质量的组件和插件,可以直接使用或自定义。