Biến (Variable) trong Dart - var, final, const
1. Giới thiệu
Dart có 3 cách khai báo biến:
var- Biến có thể thay đổi, kiểu tự suy luậnfinal- Hằng số runtime, gán một lầnconst- Hằng số compile-time
2. Khai báo với var
var name = "Dart";
var age = 10;
var price = 99.99;
name = "Flutter"; // OK
age = 11; // OK3. Khai báo với kiểu tường minh
String name = "Dart";
int age = 25;
double height = 1.75;
bool isStudent = true;4. Khai báo với final
final chỉ gán được một lần, nhưng giá trị xác định lúc runtime:
final name = "Alice";
final currentTime = DateTime.now();
// name = "Bob"; // Error!5. Khai báo với const
const là hằng số compile-time, giá trị phải biết trước:
const pi = 3.14159;
const maxUsers = 100;
// const currentTime = DateTime.now(); // Error!6. So sánh var, final, const
var mutableVar = 10;
mutableVar = 20; // OK
final runtimeConst = DateTime.now();
// runtimeConst = DateTime.now(); // Error!
const compileTimeConst = 100;
// compileTimeConst = 200; // Error!| Keyword | Mutable | Thời điểm xác định | Ví dụ |
|---|---|---|---|
var | Yes | Runtime | var x = 10 |
final | No | Runtime | final time = DateTime.now() |
const | No | Compile-time | const pi = 3.14 |
7. late Modifier
late cho phép khởi tạo muộn:
late String description;
void initialize() {
description = "Initialized later";
}8. Quy tắc đặt tên
// Hợp lệ - camelCase
var firstName = "John";
var age1 = 25;
var _private = "private";
// Không hợp lệ
// var 1age = 25;
// var my-name = "John";9. So sánh với Kotlin và Swift
| Dart | Kotlin | Swift | Ghi chú |
|---|---|---|---|
var | var | var | Mutable |
final | val | let | Runtime constant |
const | const val | Không có | Compile-time |
10. Best Practices
- Ưu tiên
final>var - Dùng
constcho giá trị compile-time - Khai báo kiểu tường minh khi cần
- Sử dụng
latekhi không thể khởi tạo ngay
📝 Tóm tắt
var- Mutable variablefinal- Runtime constantconst- Compile-time constantlate- Lazy initialization- Ưu tiên immutability với
final
Last updated on