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,intvà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