Cách khai báo biến và các kiểu dữ liệu trong ngôn ngữ lập trình Dart/Flutter

I. Từ phiên bản dart 2.0, khi khai báo biến cần phải gán giá trị ngay từ lúc khởi tạo. Nhưng để linh hoạt hơn khi khai báo biến thì có thể sử dụng '?' sau kiểu dữ liệu của biến đó (ví dụ: int? a,... lúc này biến a sẽ nhận trị mặc định là null)
II. Các kiểu dữ liệu

  1. int, double: int: kiểu số nguyên và double: số thực (Ví dụ: int age = 25;, double pi = 3.14;)

2. String: Kiểu String được sử dụng để lưu trữ chuỗi ký tự (Ví dụ: String name = "Dart";)
3. bool: Kiểu bool chỉ có hai giá trị: true hoặc false (Ví dụ: bool isFlutterAwesome = true;)
4. null: kiểu null là giá trị không tồn tại hoặc không được khởi tạo.
5. List: Kiểu List giống với mảng trong các ngôn ngữ khác, có thể chứa nhiều giá trị (Ví dụ: List<int> numbers = [1, 2, 3, 4, 5];)
6. Set: Kiểu Set là một tập hợp không có thứ tự và không chứa các phần tử trùng lặp (Ví dụ: Set<int> uniqueNumbers = {1, 2, 3, 4, 5};)
7. Map: Kiểu Map giống như object có key và value (Ví dụ: Map<String, String> capitalCities = {'Vietnam': 'Hanoi', 'USA': 'Washington D.C.'};)
8. Datetime: Kiểu Datetime cho phép biểu diễn và xử lý thời gian và ngày tháng (Ví dụ: DateTime now = DateTime.now();)
9. dynamic: Kiểu dynamic cho phép biến nhận bất kỳ giá trị nào, nhưng mà ko nên lạm dụng do là ko rõ về giá trị của biến đó nên khi đọc code sẽ khó hiểu
10. var: Kiểu var giống với Kiểu dynamic khi khai báo mà chưa gán giá trị, còn khi đã gán giá trị rồi thì biến đó sẽ chỉ nhận những giá trị khác cùng với kiểu của giá trị khởi tạo