Toán tử kiểm tra kiểu
Thuộc phần Kiến thức cơ bản trong hành trình Dart của Coddy. Bài học 26 trên 94.
Các toán tử kiểm tra kiểu dữ liệu của Dart kiểm tra kiểu dữ liệu của biến khi chạy: is xác minh biến có khớp với một kiểu dữ liệu hay không, còn is! kiểm tra xem biến có không khớp hay không.
void main() {
var number = 42;
var isInteger = number is int;
print('Is $number an integer? $isInteger');
}void main() {
var price = 9.99;
var isNotInteger = price is! int;
print('Is $price not an integer? $isNotInteger');
}void main() {
var value1 = 'Hello';
var value2 = 42;
var value3 = true;
print('$value1 is a String: ${value1 is String}');
print('$value2 is a double: ${value2 is double}');
print('$value3 is a bool: ${value3 is bool}');
}Thử thách
DễTạo một chương trình Dart sử dụng các toán tử kiểm tra kiểu (is và is!) để kiểm tra kiểu dữ liệu của biến:
- Tạo biến
numbercó giá trị42bằng cách suy luận kiểu (var) - Tạo biến
decimalcó giá trị3.14bằng cách suy luận kiểu - Tạo biến
textcó giá trị"Hello"bằng cách suy luận kiểu - Tạo biến
activecó giá trịtruebằng cách suy luận kiểu - Dùng toán tử
isđể kiểm tra xem mỗi biến có đúng kiểu dữ liệu của nó không (int, double, String, bool) - Dùng toán tử
is!để kiểm tra xem mỗi biến có KHÔNG thuộc kiểu dữ liệu không đúng hay không - In kết quả theo đúng định dạng trong đầu ra dự kiến
Đầu ra phải khớp chính xác với định dạng sau:
number is int: true number is! String: true decimal is double: true decimal is! int: true text is String: true text is! bool: true active is bool: true active is! double: true
Tự làm thử
void main() {
// Tạo các biến bằng cách suy luận kiểu dữ liệu (type inference)
// Thay mỗi chỗ trống bằng một giá trị có kiểu dữ liệu được nêu trong dòng in ra tương ứng
var number = null;
var decimal = null;
var text = null;
var active = null;
// Dùng các toán tử kiểm tra kiểu dữ liệu để kiểm tra và in ra kết quả
// Thay mỗi chỗ trống bằng một phép kiểm tra kiểu dữ liệu để mỗi dòng in ra một giá trị boolean
print("number is int: ${number}");
print("number is! String: ${number}");
print("decimal is double: ${decimal}");
print("decimal is! int: ${decimal}");
print("text is String: ${text}");
print("text is! bool: ${text}");
print("active is bool: ${active}");
print("active is! double: ${active}");
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Các toán tử phần 2
Toán tử so sánhPhép AND logicPhép OR logicPhép NOT logicToán tử kiểm tra kiểuÔn tập: So sánh10Bộ sưu tập: kiến thức cơ bản về ánh xạ
Ánh xạ là gì?Tạo ánh xạTruy cập giá trị bằng khóaCặp khóa và giá trịLấy kích thước ánh xạLấy các khóaLấy các giá trịKiểm tra khóa có tồn tại không13An toàn với giá trị null chuyên sâu
Tìm hiểu giá trị nullKiểu dữ liệu nullableKiểu dữ liệu non-nullableToán tử khẳng định non-nullKhởi tạo muộnÔn tập: xử lý null an toàn16Thử thách về kiến thức cơ bản
Thử thách: Danh sách phép tínhThử thách: Tính tổng các sốThử thách: Tìm tích2Biến và kiểu dữ liệu cơ bản
Biến là gì?ChuỗiSố nguyên (int)Số thực (double)Giá trị logic (bool)Suy luận kiểu dữ liệu với 'var'Biến finalBiến hằng sốQuy tắc đặt tênAn toàn với null cơ bảnÔn tập: khai báo biến8Luồng điều khiển: vòng lặp
Vòng lặp forVòng lặp whileVòng lặp do-whileDùng break trong vòng lặpDùng continue trong vòng lặpÔn tập: lặp lại code11Hàm cơ bản
Hàm là gì?Định nghĩa hàm cơ bảnGọi hàmHàm có tham sốHàm trả về giá trịTừ khóa 'void'Cú pháp mũi tênÔn tập: hàm đơn giản14Chuyển đổi kiểu dữ liệu
Chuyển chuỗi thành số nguyênChuyển chuỗi thành số thựcChuyển số thành chuỗiXử lý lỗi chuyển đổi3Các toán tử, phần 1
Toán tử số họcPhép chia số nguyênToán tử moduloToán tử tăng và giảmToán tử gán rút gọnÔn tập: phép tính đơn giản6Luồng điều khiển: ra quyết định
Câu lệnh 'if'Câu lệnh 'else'Câu lệnh 'else if'Ôn tập: quyết định đơn giảnCâu lệnh 'if' lồng nhauCâu lệnh 'switch'9Cơ bản về danh sách trong Collections
Danh sách là gì?Tạo danh sáchTruy cập theo chỉ sốLấy độ dài danh sáchThêm phần tửXóa phần tửKiểm tra danh sách có rỗng khôngDuyệt qua danh sáchTự luyện tập: Trình biên dịch Dart online