Biến (Variables)
Khai báo biến bằng từ khóa var
Dart sẽ ngầm hiểu kiểu dữ liệu của nó. Khi khai báo trong phạm vi local thì nên dùng var
thay vì dùng kiểu khai báo tường minh như String
double
int
....
String title = 'Đây là 1 ví dụ về biến';
main() {
var name = "Son Tran";
String s = "abcxyz";
double d = 1.1;
int num = 2;
print(title);
print("Variables are: $s $d $num $name");
}
Khi đã khai báo biến rồi, thì biến đó thuộc kiểu dữ liệu cố định. Nếu gán giá trị kiểu khác sẽ bị lỗi.
var i = 1;
i = 'somethings';
/*
Sẽ lỗi do biến `i` thuộc kiểu `int` mà giờ lại gán qua kiểu String
*/
Nếu muốn gán kiểu khác, hãy dùng dynamic
hoặc khai báo kiểu Object
main() {
// Dùng dynamic
dynamic s = 1;
s = 'a cat';
/*
Dùng `Object` vì như đã nói mọi kiểu dữ liệu đều là một instance
của class Object trong Dart
*/
Object x = 99;
x = 'a dog';
print("Variables is: $s $x");
}
Ngoài ra còn có từ khóa khai báo kiểu hằng số là const
và final
. Chúng khác nhau ở chỗ là const
khai báo hằng số ở complie-time còn final
là run-time.
Và hằng số thì không thể gán giá trị sau khi khởi tạo.
main() {
const PI = 3.14;
final TODAY = DateTime.now();
print("Variable is: $PI $TODAY");
PI = 3.1416; //Lỗi
}
Ngoài ra với Dart 2.5 còn có thể dùng is
as
và Spread Operator (...
)
main() {
const Object i = 3;
const list = [i as int]; // Sử dụng typecast.
const map = {if (i is String) i: "String" else "aaa": "Other"};
// Dùng `is` và lệnh `if else`.
const set = {if (list is List<int>) ...list};
// Dùng Spread Operator `...`
print("Variable is: $list $map $set");
}
Kiểu dữ liệu trong Dart
Cơ bản có các kiểu sau:
- Kiểu numbers gồm:
num
,int
vàdouble
- Kiểu string
- Kiểu booleans
- lists (hay array - mãng)
- sets
- maps
- runes (chuỗi Unicode)
- symbols
Kiểu numbers
Cũng dễ như bình thường thôi :D
main() {
//`num` có thể là kiểu số nguyên hoặc thập phân
num i = 100;
num d = 7.55;
/*
`int` là kiểu số nguyên, và `double` là kiểu số thập phân.
Hai kiểu này là sub-class của `num`
*/
int n = 999999;
double x = 68.25;
double y = 1; // ngầm hiểu `double y = 1.0`
//Ép kiểu
var one = int.parse('1');
//Một số cách biểu diễn số khác
var hex = 0xFF;
var exp = 1.42e5;
print("Variable is: $i $n $d $x $hex $exp");
}
Top comments (1)
ko ngờ có người writing tiếng việt, nice bro