Rate this post

Các kiểu dữ liệu là đặc điểm cơ bản quan trọng nhất của ngôn ngữ lập trình. Trong Dart, kiểu dữ liệu của biến được xác định bằng giá trị của nó. Các biến được sử dụng để lưu trữ các giá trị và dự trữ vị trí bộ nhớ. Kiểu dữ liệu chỉ định kiểu giá trị nào sẽ được lưu trữ bởi biến. Mỗi biến có kiểu dữ liệu của nó. Dart là một loại ngôn ngữ tĩnh, có nghĩa là các biến không thể sửa đổi.

Các viết liên quan:

Kiểu dữ liệu nguyên thủy (Primitive data types) trong Dart

Cấu trúc cú pháp và ví dụ của các kiểu dữ liệu nguyên thủy (Primitive data types) trong Dart:

  1. Kiểu số nguyên (Integer):

Cú pháp: int

Ví dụ:

int age = 25; int quantity = -10;
  1. Kiểu số thực (Double):

Cú pháp: double

Ví dụ:

double pi = 3.14; double temperature = 25.5;
  1. Kiểu chuỗi (String):

Cú pháp: String

Ví dụ:

String name = "John Doe"; String message = 'Hello, Dart!';
  1. Kiểu boolean (Boolean):

Cú pháp: bool

Ví dụ:

bool isTrue = true; bool isFalse = false;
  1. Kiểu ký tự (Character):

Cú pháp: String (đại diện cho một ký tự duy nhất)

Ví dụ:

String grade = 'A'; String symbol = '@';
  1. Kiểu null (Null):

Cú pháp: Null

Ví dụ:

int? nullableValue = null; 
String? nullableString = null;

Các kiểu dữ liệu nguyên thủy trong Dart được sử dụng để lưu trữ các giá trị cơ bản như số nguyên, số thực, chuỗi, boolean và ký tự. Kiểu null được sử dụng để đại diện cho giá trị null. Bạn có thể khai báo biến với các kiểu dữ liệu nguyên thủy và gán giá trị tương ứng cho chúng.

Lưu ý rằng trong Dart, các kiểu dữ liệu nguyên thủy không phải là các đối tượng và không hỗ trợ các phương thức và thuộc tính như trong hướng đối tượng.

Xem thêm Các kiểu dữ liệu trong Swift

Kiểu dữ liệu danh sách (List)

Cấu trúc cú pháp và ví dụ về kiểu dữ liệu danh sách (List) trong Dart:

  1. Khai báo danh sách:
    • Cú pháp: List<kiểu_dữ_liệu> tên_danh_sách = [giá_trị1, giá_trị2, ...];
    • Ví dụ:
List<int> numbers = [1, 2, 3, 4, 5]; 
List<String> names = ['Alice', 'Bob', 'Charlie']; 
List<double> prices = [9.99, 19.99, 29.99];
  1. Truy cập phần tử trong danh sách:
    • Cú pháp: tên_danh_sách[index]
    • Ví dụ:
print(numbers[0]); // Output: 1 
print(names[1]); // Output: Bob 
print(prices[2]); // Output: 29.99
  1. Thay đổi giá trị phần tử trong danh sách:
    • Cú pháp: tên_danh_sách[index] = giá_trị_mới
    • Ví dụ:
numbers[0] = 10; 
names[2] = 'David'; 
prices[1] = 15.99;
  1. Độ dài của danh sách:
    • Cú pháp: tên_danh_sách.length
    • Ví dụ:
print(numbers.length); // Output: 5 
print(names.length); // Output: 3 
print(prices.length); // Output: 3
  1. Thêm phần tử vào danh sách:
    • Sử dụng phương thức add():
numbers.add(6); 
names.add('Eve'); 
prices.add(39.99);
  1. Xóa phần tử khỏi danh sách:
    • Sử dụng phương thức removeAt() hoặc remove():
numbers.removeAt(1); // Xóa phần tử ở vị trí index 1 
names.remove('Alice'); // Xóa phần tử có giá trị 'Alice' 
prices.remove(9.99); // Xóa phần tử có giá trị 9.99

Kiểu dữ liệu danh sách (List) trong Dart được sử dụng để lưu trữ và quản lý các tập hợp các phần tử có cùng kiểu dữ liệu. Bạn có thể truy cập và thay đổi giá trị của phần tử trong danh sách, thêm và xóa phần tử khỏi danh sách. Độ dài của danh sách cũng có thể được lấy ra bằng cách sử dụng thuộc tính length.

Xem thêm numpy.random () bằng Python

Kiểu dữ liệu bộ (Tuple)

Cấu trúc cú pháp và ví dụ về kiểu dữ liệu bộ (Tuple) trong Dart:

  1. Khai báo bộ:
    • Cú pháp: Tuple<kiểu_dữ_liệu1, kiểu_dữ_liệu2, ...> tên_bộ = Tuple<kiểu_dữ_liệu1, kiểu_dữ_liệu2, ...>(giá_trị1, giá_trị2, ...);
    • Ví dụ:
Tuple2<int, String> person = Tuple2<int, String>(25, 'John Doe'); 
Tuple3<String, double, bool> data = Tuple3<String, double, bool>('example', 3.14, true);
  1. Truy cập phần tử trong bộ:
    • Cú pháp: tên_bộ.itemX (với X là vị trí phần tử bắt đầu từ 1)
    • Ví dụ:
print(person.item1); // Output: 25 
print(person.item2); // Output: John Doe 
print(data.item1); // Output: example 
print(data.item2); // Output: 3.14 
print(data.item3); // Output: true
  1. Thay đổi giá trị phần tử trong bộ:
    • Bộ là không thay đổi (immutable), nghĩa là không thể thay đổi giá trị của phần tử sau khi khai báo.
  2. Lấy số lượng phần tử trong bộ:
    • Cú pháp: tên_bộ.length
    • Ví dụ:
print(person.length); // Output: 2 
print(data.length); // Output: 3

Kiểu dữ liệu bộ (Tuple) trong Dart cho phép bạn nhóm các giá trị có kiểu dữ liệu khác nhau lại thành một đơn vị. Bạn có thể truy cập và lấy giá trị của từng phần tử trong bộ bằng cách sử dụng thuộc tính itemX, với X là vị trí phần tử. Tuy nhiên, giá trị của phần tử trong bộ là không thể thay đổi sau khi khai báo. Độ dài của bộ cũng có thể được lấy ra bằng cách sử dụng thuộc tính length.

Kiểu dữ liệu bảng (Map)

Cấu trúc cú pháp và ví dụ về kiểu dữ liệu bảng (Map) trong Dart:

  1. Khai báo bảng:
    • Cú pháp: Map<kiểu_key, kiểu_value> tên_bảng = {key1: value1, key2: value2, ...};
    • Ví dụ:
Map<String, int> ages = {'Alice': 25, 'Bob': 30, 'Charlie': 35}; 
Map<int, String> students = {1: 'John', 2: 'Emily', 3: 'Michael'};
  1. Truy cập giá trị trong bảng:
    • Cú pháp: tên_bảng[key]
    • Ví dụ:
dartCopy codeprint(ages['Alice']); // Output: 25 
print(students[2]); // Output: Emily
  1. Thay đổi giá trị trong bảng:
    • Cú pháp: tên_bảng[key] = giá_trị_mới
    • Ví dụ:
ages['Bob'] = 32; 
students[3] = 'Sophia';
  1. Độ dài của bảng:
    • Cú pháp: tên_bảng.length
    • Ví dụ:
print(ages.length); // Output: 3 
print(students.length); // Output: 3
  1. Thêm cặp key-value vào bảng:
    • Sử dụng phương thức put():
ages.putIfAbsent('David', () => 28); 
students.putIfAbsent(4, () => 'Olivia');
  1. Xóa cặp key-value khỏi bảng:
    • Sử dụng phương thức remove():
ages.remove('Charlie');
students.remove(2);

Kiểu dữ liệu bảng (Map) trong Dart được sử dụng để lưu trữ dữ liệu dưới dạng các cặp key-value. Bạn có thể truy cập và thay đổi giá trị bằng cách sử dụng key tương ứng. Độ dài của bảng cũng có thể được lấy ra bằng cách sử dụng thuộc tính length. Bạn cũng có thể thêm cặp key-value mới vào bảng và xóa cặp key-value khỏi bảng bằng cách sử dụng các phương thức tương ứng.

Kiểu dữ liệu hằng số (Constant)

Cấu trúc cú pháp và ví dụ về kiểu dữ liệu hằng số (Constant) trong Dart:

  1. Khai báo hằng số:
    • Cú pháp: static const kiểu_dữ_liệu tên_hằng_số = giá_trị;
    • Ví dụ:
static const int maxAge = 100; 
static const double pi = 3.14; 
static const String appName = 'MyApp';
  1. Truy cập hằng số:
    • Hằng số có thể được truy cập trực tiếp bằng tên của nó.
    • Ví dụ:
print(maxAge); // Output: 100 
print(pi); // Output: 3.14 
print(appName); // Output: MyApp

Lợi ích của hằng số:

Bảo đảm rằng giá trị không thay đổi trong quá trình chạy chương trình.

Sử dụng để định nghĩa các giá trị không thay đổi như các hằng số toán học, giá trị mặc định, tên ứng dụng, v.v.

Kiểu dữ liệu hằng số (Constant) trong Dart được sử dụng để định nghĩa các giá trị không thay đổi trong quá trình chạy chương trình. Bạn có thể khai báo hằng số bằng cách sử dụng từ khóa static const và gán giá trị cho nó. Hằng số có thể được truy cập trực tiếp bằng tên của nó và không thể thay đổi giá trị sau khi được gán.

Kiểu dữ liệu nullable (Nullable)

Cấu trúc cú pháp và ví dụ về kiểu dữ liệu nullable (Nullable) trong Dart:

  1. Khai báo kiểu dữ liệu nullable:
    • Cú pháp: kiểu_dữ_liệu? tên_biến;
    • Ví dụ:
int? age; String? name; double? height;
  1. Gán giá trị cho biến nullable:
    • Biến nullable có thể gán giá trị bình thường hoặc giá trị null.
    • Ví dụ:
dartCopy codeage = 25; 
name = null; 
height = 1.75;
  1. Truy cập giá trị của biến nullable:
    • Trước khi sử dụng giá trị của biến nullable, cần kiểm tra xem nó có giá trị null hay không.
    • Có thể sử dụng điều kiện if hoặc toán tử ?. để truy cập giá trị.
    • Ví dụ:
if (age != null) {
  print(age); 
} 
print(name?.length);
  1. Sử dụng toán tử null-aware để gán giá trị mặc định cho biến nullable:
    • Cú pháp: biến_nullable ?? giá_trị_mặc_định
    • Ví dụ:
int actualAge = age ?? 0; 
String actualName = name ?? 'Unknown';
  1. Kiểm tra kiểu dữ liệu nullable:
    • Sử dụng toán tử is hoặc is! để kiểm tra kiểu dữ liệu nullable.
    • Ví dụ:
if (age is int?) { 
  print('age is nullable int'); 
} 
if (name is! String?) { 
  print('name is not nullable String'); 
}

Kiểu dữ liệu nullable (Nullable) trong Dart được sử dụng khi bạn muốn khai báo biến có thể chứa giá trị null. Bạn có thể khai báo biến nullable bằng cách sử dụng dấu chấm hỏi (?) sau kiểu dữ liệu. Biến nullable có thể gán giá trị bình thường hoặc giá trị null. Trước khi sử dụng giá trị của biến nullable, cần kiểm tra xem nó có giá trị null hay không để tránh lỗi. Bạn cũng có thể sử dụng toán tử null-aware để gán giá trị mặc định cho biến nullable. Đồng thời, bạn có thể kiểm tra kiểu dữ liệu của biến nullable bằng cách sử dụng toán tử is hoặc is!.

Kiểu dữ liệu động (Dynamic)

Cấu trúc cú pháp và ví dụ về kiểu dữ liệu động (Dynamic) trong Dart:

  1. Khai báo kiểu dữ liệu động:
    • Cú pháp: dynamic tên_biến;
    • Ví dụ:
dynamic value;
  1. Gán giá trị cho biến động:
    • Biến động có thể gán bất kỳ giá trị nào, bất kể kiểu dữ liệu.
    • Ví dụ:
value = 10; value = 'Hello'; value = true;
  1. Truy cập giá trị của biến động:
    • Không có kiểm tra kiểu dữ liệu tự động cho biến động.
    • Cần chắc chắn rằng các phép toán hoặc truy cập đúng kiểu dữ liệu của giá trị hiện tại.
    • Ví dụ:
print(value + 5); // Phép toán số học 
print(value.length); // Truy cập thuộc tính của chuỗi

Lợi ích của kiểu dữ liệu động:

  • Cho phép gán và thay đổi kiểu dữ liệu một cách linh hoạt.
  • Thuận tiện trong việc làm việc với dữ liệu đa dạng hoặc khi không biết trước kiểu dữ liệu cụ thể.

Kiểu dữ liệu động (Dynamic) trong Dart cho phép bạn khai báo biến mà không chỉ định kiểu dữ liệu cụ thể. Bạn có thể gán bất kỳ giá trị nào cho biến động, bất kể kiểu dữ liệu. Tuy nhiên, khi làm việc với biến động, bạn cần chắc chắn rằng các phép toán hoặc truy cập đúng kiểu dữ liệu của giá trị hiện tại để tránh lỗi. Kiểu dữ liệu động có lợi thế là linh hoạt và thuận tiện khi làm việc với dữ liệu đa dạng hoặc khi không biết trước kiểu dữ liệu cụ thể. Tuy nhiên, cần hết sức cẩn thận khi sử dụng kiểu dữ liệu động để tránh các vấn đề liên quan đến kiểu dữ liệu và kiểm tra kiểu tự động.

Xem thêm các kiểu dữ liệu trong c++ là gì

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now