✅ ما هو import في Dart؟
كلمة import تُستخدم لجلب كود من ملف أو مكتبة أخرى حتى تستطيع استخدامه في ملفك الحالي.
🧩 أنواع import في Dart
| النوع | الاستخدام | مثال |
|---|---|---|
| 1. مكتبات النظام | مكتبات مدمجة مع Dart | import 'dart:math'; |
| 2. ملفات محلية | استيراد ملف داخل مشروعك | import 'my_file.dart'; |
| 3. مكتبات من pub | استيراد حزم من pub.dev | import '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 تعرف أنه نفس الملف ولن تكررهDartDart تتجاهل التكرار التلقائي عند الاستيراد لنفس الملف.
⚠️ ملاحظات مهمة:
importيجب أن يكون في أعلى الملف.- لا يمكن استخدام
importداخل دالة مثلmain(). - تأكد من المسارات (relative vs package).
✅ تلخيص سريع:
| الحالة | الصيغة |
|---|---|
| مكتبة Dart | import 'dart:io'; |
| ملف داخلي | import 'helpers/my_file.dart'; |
| مكتبة من pub | import 'package:package_name/file.dart'; |
| اختصار | import 'dart:math' as math; |
| استيراد جزئي | import 'dart:math' show pi; |