ארגון קוד לתוך פונקציות

Dart:
ארגון קוד לתוך פונקציות

איך לעשות:

פונקציה בסיסית

ב-Dart, מגדירים פונקציה באמצעות המילת המפתח void אם היא לא מחזירה ערך, או מציינים את סוג הערך שהיא מחזירה אחרת. הנה פונקציה פשוטה שמדפיסה הודעת ברכה:

void greet(String name) {
  print('Hello, $name!');
}

void main() {
  greet('Alice');  // פלט: Hello, Alice!
}

החזרת ערך

פונקציות יכולות להחזיר ערכים. הדוגמה הבאה לוקחת שני שלמים כקלט ומחזירה את הסכום שלהם:

int add(int a, int b) {
  return a + b;
}

void main() {
  var sum = add(5, 3);
  print(sum);  // פלט: 8
}

פונקציות אנונימיות

-Dart תומך בפונקציות אנונימיות (הידועות גם כביטויי למבדא או סגירות), אשר יכולות להיות שימושיות לפונקציונליות קצרות ומהירות. הנה איך להשתמש בפונקציה אנונימית עם המתודה forEach של רשימה:

void main() {
  var fruits = ['apple', 'banana', 'cherry'];
  fruits.forEach((item) {
    print(item);
  });
  // פלט:
  // apple
  // banana
  // cherry
}

תחביר חץ לפונקציות עם ביטוי יחיד

עבור פונקציות שמכילות ביטוי יחיד בלבד, Dart מציע תחביר קצרצר באמצעות הסימון “חץ” (=>). זה מועיל במיוחד עבור פונקציות קצרות או העברת פונקציות כארגומנטים:

int square(int num) => num * num;

void main() {
  print(square(4));  // פלט: 16
}

שימוש בספריות של צד שלישי

לפונקציונליות מורכבות יותר או מתמחות, תכנתי Dart לעיתים קרובות מסתמכים על ספריות של צד שלישי. קח לדוגמה את הספרייה http לביצוע בקשות HTTP. ראשית, הוסף את http לקובץ pubspec.yaml שלך תחת תלות:

dependencies:
  http: ^0.13.3

לאחר מכן, ניתן להשתמש בה לשליפת נתונים מהרשת:

import 'package:http/http.dart' as http;

Future<void> fetchUserData() async {
  var response = await http.get(Uri.parse('https://api.example.com/users/1'));
  print(response.body);
}

void main() {
  fetchUserData();
  // פלט משוער: נתוני JSON של המשתמש. הפלט המדויק יהיה תלוי בתגובת ה-API.
}

זכור, כאשר אתה מארגן את הקוד שלך ב-Dart לתוך פונקציות, חשוב על נתמידות, קריאות ועקרון האחריות היחידה. זה לא רק מנקה את הקוד שלך אלא גם הופך אותו לקל יותר להבנה ולתחזוקה עבור אחרים (והאני העתידי שלך).