Skip to Content

Arrow Functions trong Dart

1. Giới thiệu

Arrow function (fat arrow) là cú pháp ngắn gọn cho hàm chỉ có một biểu thức.

2. Cú pháp

// Hàm thông thường returnType functionName(params) { return expression; } // Arrow function returnType functionName(params) => expression;

3. Ví dụ cơ bản

// Hàm thông thường int add(int a, int b) { return a + b; } // Arrow function int add(int a, int b) => a + b;

4. Các ví dụ khác

// Kiểm tra số chẵn bool isEven(int n) => n % 2 == 0; // Bình phương int square(int n) => n * n; // String template String greet(String name) => 'Xin chào, $name!'; // Getter String get fullName => '$firstName $lastName';

5. Sử dụng với List

void main() { var numbers = [1, 2, 3, 4, 5]; // map var doubled = numbers.map((n) => n * 2).toList(); print(doubled); // [2, 4, 6, 8, 10] // where (filter) var evens = numbers.where((n) => n % 2 == 0).toList(); print(evens); // [2, 4] // any bool hasLarge = numbers.any((n) => n > 3); print(hasLarge); // true }

6. Trong Class

class Circle { final double radius; Circle(this.radius); // Getters với arrow double get area => 3.14159 * radius * radius; double get circumference => 2 * 3.14159 * radius; // Method với arrow bool contains(double r) => r <= radius; }

7. Khi NÊN dùng Arrow Function

// ✅ Biểu thức đơn giản int double(int n) => n * 2; // ✅ Getters String get name => _name; // ✅ Callbacks ngắn button.onPressed = () => print('Clicked!');

8. Khi KHÔNG NÊN dùng

// ❌ Logic phức tạp - dùng hàm thường void processData(List data) { if (data.isEmpty) return; for (var item in data) { // nhiều xử lý... } }

📝 Tóm tắt

  • Cú pháp: type name(params) => expression;
  • Chỉ dùng cho hàm 1 biểu thức
  • Phổ biến với map, where, getter
  • Làm code ngắn gọn, dễ đọc
Last updated on