第2章:Dart语言基础
简要说明
在学习Flutter之前,掌握Dart语言的基础知识是至关重要的。Dart是Flutter的官方编程语言,具有简洁的语法和强大的功能。本章将介绍Dart的基本语法、面向对象编程以及异步编程的核心概念,为后续的Flutter开发打下坚实的基础。
关键知识点
1. Dart的基本语法
1.1 变量与数据类型
Dart是一种强类型语言,但支持类型推断。你可以使用var
关键字声明变量,Dart会自动推断变量的类型。
var name = 'Dart'; // 类型推断为String
int age = 25; // 显式声明为int类型
double height = 1.75; // 显式声明为double类型
bool isStudent = true; // 显式声明为bool类型
Dart支持以下基本数据类型:
int
:整数类型double
:浮点数类型String
:字符串类型bool
:布尔类型List
:列表(数组)Map
:键值对集合
1.2 函数
Dart中的函数使用void
表示无返回值,使用return
返回值。
void printName(String name) {
print('Name: $name');
}
int add(int a, int b) {
return a + b;
}
Dart还支持箭头函数(单行函数):
int multiply(int a, int b) => a * b;
2. 面向对象编程
2.1 类与对象
Dart是一种面向对象的语言,支持类、继承、接口等特性。
class Person {
String name;
int age;
// 构造函数
Person(this.name, this.age);
// 方法
void introduce() {
print('My name is $name, and I am $age years old.');
}
}
void main() {
var person = Person('Alice', 30);
person.introduce();
}
2.2 继承
Dart支持单继承,使用extends
关键字实现继承。
class Student extends Person {
String school;
Student(String name, int age, this.school) : super(name, age);
@override
void introduce() {
super.introduce();
print('I study at $school.');
}
}
2.3 接口
Dart没有专门的接口关键字,类可以通过实现其他类的方法来充当接口。
abstract class Animal {
void makeSound();
}
class Dog implements Animal {
@override
void makeSound() {
print('Woof!');
}
}
3. 异步编程
3.1 Future
Dart使用Future
表示异步操作的结果。Future
可以表示一个可能在未来完成的操作。
Future<String> fetchUserData() {
return Future.delayed(Duration(seconds: 2), () => 'User Data');
}
void main() {
fetchUserData().then((data) {
print(data);
});
}
3.2 async/await
async
和await
关键字使得异步代码的编写更加简洁和易读。
Future<void> printUserData() async {
var data = await fetchUserData();
print(data);
}
void main() {
printUserData();
}
总结
本章介绍了Dart语言的基本语法、面向对象编程以及异步编程的核心概念。掌握这些基础知识将为后续的Flutter开发提供坚实的基础。在下一章中,我们将深入探讨Flutter的核心组件和布局系统。
下一章预告:第3章:Flutter核心组件与布局系统