我会按照初级、中级和高级依次介绍Dart语言的各种语法,并附上代码示例。
初级
- 变量声明与赋值
var name = 'Tom'; // 变量 String age = '18'; // 带类型的变量声明 final PI=3.14159; // 常量 复制代码
- 控制流语句
int score = 70; if (score >= 90) { print('优秀'); } else if (score >= 60) { print('及格'); } else { print('不及格'); } for (int i = 0; i < 5; i++) { print(i); } while (score <= 100) { score++; } 复制代码
- 函数定义和调用
// 定义函数 int add(int a, int b) { return a + b; } // 调用函数 int result = add(2, 3); print(result); // 输出 5 复制代码
- 类的定义和实例化
class Person { String name; int age; Person(this.name, this.age); void sayHi() { print('Hi, my name is $name, I am $age years old.'); } } // 实例化对象并调用方法 Person person = Person('Tom', 18); person.sayHi(); // 输出 Hi, my name is Tom, I am 18 years old. 复制代码
中级
- Dart的可选参数和命名参数
void printInfo(String name, {int age, String gender}) { print('name: $name, age: $age, gender: $gender'); } printInfo('Tom', age: 18, gender: 'male'); // 输出 name: Tom, age: 18, gender: male 复制代码
- Dart的闭包和匿名函数
Function makeAdder(int addBy) { return (int i) => addBy + i; } var addTen = makeAdder(10); print(addTen(2)); // 输出 12 复制代码
- Dart的泛型
class Box<T> { T element; void add(T element) { this.element = element; } } Box<int> box = Box(); box.add(1); print(box.element); // 输出 1 复制代码
- Dart的枚举类型
enum Color { red, green, blue } Color color = Color.green; print(color.index); // 输出 1 复制代码
高级
- Dart的异步编程
Future<String> fetchData() async { await Future.delayed(Duration(seconds: 2)); return 'Hello, world!'; } void main() async { print('Start fetching data...'); String data = await fetchData(); print('Data: $data'); } 复制代码
- Dart的元编程(反射)
import 'dart:mirrors'; class Person { String name; int age; Person(this.name, this.age); void sayHi() { print('Hi, my name is $name, I am $age years old.'); } } void main() { Person person = Person('Tom', 18); InstanceMirror mirror = reflect(person); mirror.setField(Symbol('age'), reflect(20)); mirror.invoke(Symbol('sayHi'), []); } 复制代码
- Dart的扩展方法
extension StringExtension on String { String capitalize() { return '${this[0].toUpperCase()}${this.substring(1)}'; } } String name = 'tom'; print(name.capitalize()); // 输出 Tom 复制代码
- Dart的元素级别操作
List<int> numbers = [1, 2, 3, 4, 5]; List<int> squaredNumbers = numbers.map((number) => number * number).toList(); int sum = numbers.reduce((value, element) => value + element); print(squaredNumbers); // 输出 [1, 4, 9, 16, 25] print(sum); // 输出 15 复制代码
以上是Dart语言的初级、中级和高级语法的介绍,希望对你有所帮助。