Skip to main content

Cơ bản về ngôn ngữ Dart - Biến, kiểu dữ liệu và hàm

· 4 min read

Dart là ngôn ngữ lập trình được phát triển bởi Google và là ngôn ngữ chính để phát triển ứng dụng Flutter. Bài viết này sẽ giúp bạn hiểu rõ về các khái niệm cơ bản trong Dart: biến, kiểu dữ liệu và hàm.

1. Biến trong Dart

Khai báo biến

Trong Dart, bạn có thể khai báo biến theo hai cách:

// Cách 1: Sử dụng var
var name = 'John';
var age = 25;

// Cách 2: Chỉ định kiểu dữ liệu
String name = 'John';
int age = 25;

Các từ khóa khai báo biến

  • var: Tự động suy luận kiểu dữ liệu
  • final: Biến chỉ được gán giá trị một lần
  • const: Biến hằng số, giá trị không thể thay đổi
  • late: Khai báo biến sẽ được khởi tạo sau
final String name = 'John';  // Không thể thay đổi giá trị
const double pi = 3.14; // Hằng số
late String description; // Sẽ được khởi tạo sau

2. Kiểu dữ liệu trong Dart

Kiểu dữ liệu cơ bản

  1. Numbers

    int age = 25;           // Số nguyên
    double height = 1.75; // Số thực
  2. String

    String name = 'John';
    String message = "Hello, $name!"; // String interpolation
  3. Boolean

    bool isActive = true;
    bool isCompleted = false;
  4. List (Mảng)

    List<String> fruits = ['apple', 'banana', 'orange'];
    var numbers = [1, 2, 3, 4, 5];
  5. Map (Dictionary)

    Map<String, dynamic> person = {
    'name': 'John',
    'age': 25,
    'isActive': true
    };
  6. Set (Tập hợp)

    Set<String> countries = {'Vietnam', 'USA', 'Japan'};

Kiểm tra kiểu dữ liệu

var value = 42;
print(value is int); // true
print(value is String); // false

3. Hàm trong Dart

Định nghĩa hàm cơ bản

// Hàm không có tham số và không trả về giá trị
void sayHello() {
print('Hello!');
}

// Hàm có tham số và trả về giá trị
int add(int a, int b) {
return a + b;
}

// Hàm với tham số tùy chọn
void greet(String name, [String? title]) {
if (title != null) {
print('Hello, $title $name!');
} else {
print('Hello, $name!');
}
}

Arrow Function

// Cú pháp ngắn gọn cho hàm chỉ có một câu lệnh
int multiply(int a, int b) => a * b;

Tham số đặt tên

void printUserInfo({required String name, int? age}) {
print('Name: $name');
if (age != null) {
print('Age: $age');
}
}

// Sử dụng
printUserInfo(name: 'John', age: 25);

Hàm bất đồng bộ

// Hàm bất đồng bộ với async/await
Future<String> fetchData() async {
// Giả lập việc tải dữ liệu
await Future.delayed(Duration(seconds: 2));
return 'Data loaded!';
}

// Sử dụng
void main() async {
String result = await fetchData();
print(result);
}

4. Ví dụ thực tế

class User {
final String name;
final int age;
final List<String> hobbies;

User({
required this.name,
required this.age,
required this.hobbies,
});

void introduce() {
print('Hi, I am $name, $age years old.');
print('My hobbies are: ${hobbies.join(", ")}');
}
}

void main() {
var user = User(
name: 'John',
age: 25,
hobbies: ['reading', 'coding', 'gaming'],
);

user.introduce();
}

Kết luận

Dart là một ngôn ngữ lập trình mạnh mẽ với cú pháp rõ ràng và dễ học. Hiểu rõ về biến, kiểu dữ liệu và hàm là nền tảng quan trọng để bắt đầu phát triển ứng dụng Flutter. Hãy thực hành nhiều với các ví dụ trên để nắm vững các khái niệm cơ bản này.


Tài liệu tham khảo: