import In Dart

✅ ما هو import في Dart؟

كلمة import تُستخدم لجلب كود من ملف أو مكتبة أخرى حتى تستطيع استخدامه في ملفك الحالي.

🧩 أنواع import في Dart
النوعالاستخداممثال
1. مكتبات النظاممكتبات مدمجة مع Dartimport 'dart:math';
2. ملفات محليةاستيراد ملف داخل مشروعكimport 'my_file.dart';
3. مكتبات من pubاستيراد حزم من pub.devimport 'package:http/http.dart';
4. باستخدام aliasتعيين اسم مختصر للمكتبةimport 'dart:math' as math;
5. show / hideتحديد ما تريد استخدامه أو إخفاؤهimport 'dart:math' show pi;
✅ 1. استيراد مكتبة Dart الرسمية:
import 'dart:math';

void main() {
  print(sqrt(16)); // 4.0
}
Dart
✅ 2. استيراد ملف محلي داخل مشروعك:

ملف: utils.dart

void sayHello(String name) {
  print("Hello $name");
}
Dart

ملف: main.dart

import 'utils.dart';

void main() {
  sayHello("Ali");
}
Dart

✅ تأكد من أن الملف في نفس المجلد أو استخدم المسار المناسب.

✅ 3. استيراد من مكتبات pub.dev (مثل http):
import 'package:http/http.dart' as http;

void main() async {
  var response = await http.get(Uri.parse('https://example.com'));
  print(response.body);
}
Dart
✅ 4. استخدام alias لتجنب التضارب:
import 'dart:math' as m;

void main() {
  print(m.max(3, 10));
}
Dart

مفيد إذا كان عندك أكثر من مكتبة تحتوي على نفس الدوال أو المتغيرات.

✅ 5. استخدام show و hide
import 'dart:math' show pi;

void main() {
  print(pi); // ✅ يعمل
  // print(sqrt(16)); ❌ خطأ: sqrt غير مستوردة
}
Dart

أو لإخفاء شيء:

import 'dart:math' hide sqrt;

void main() {
  print(pi); // ✅
  // sqrt(16); // ❌ غير مسموح
}
Dart
🔄 استيراد مرة واحدة فقط (prevent duplicates)
import 'utils.dart';      // الاستيراد العادي
import 'utils.dart';      // ✅ Dart تعرف أنه نفس الملف ولن تكرره
Dart

Dart تتجاهل التكرار التلقائي عند الاستيراد لنفس الملف.

⚠️ ملاحظات مهمة:
  1. import يجب أن يكون في أعلى الملف.
  2. لا يمكن استخدام import داخل دالة مثل main().
  3. تأكد من المسارات (relative vs package).
✅ تلخيص سريع:
الحالةالصيغة
مكتبة Dartimport 'dart:io';
ملف داخليimport 'helpers/my_file.dart';
مكتبة من pubimport 'package:package_name/file.dart';
اختصارimport 'dart:math' as math;
استيراد جزئيimport 'dart:math' show pi;