Skip to Content
Dart📘 Ngôn ngữ DartExtension Methods

Extension Methods trong Dart

🎯 Mục tiêu: Thêm methods cho existing types.


💡 Cú pháp

extension StringExtension on String { String get reversed => split('').reversed.join(); bool get isEmail => contains('@') && contains('.'); String capitalize() => isEmpty ? this : '${this[0].toUpperCase()}${substring(1)}'; } print("hello".reversed); // olleh print("[email protected]".isEmail); // true print("dart".capitalize()); // Dart

📝 Extension cho generic types

extension ListExtension<T> on List<T> { T? get secondOrNull => length > 1 ? this[1] : null; } var list = [1, 2, 3]; print(list.secondOrNull); // 2

📱 Trong Flutter

extension BuildContextExtension on BuildContext { double get screenWidth => MediaQuery.of(this).size.width; void showSnackBar(String message) { ScaffoldMessenger.of(this).showSnackBar( SnackBar(content: Text(message)), ); } } // Usage context.showSnackBar("Hello!");

✅ Checklist

  • extension Name on Type { }
  • Thêm methods, getters, operators
  • Generic extensions

Last updated on