English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المقال، ستعلمون من خلال الأمثلة كل شيء عن الوظائف في Swift، بما في ذلك ما هي الوظيفة، الجملة، والأنواع.
الوظيفة هي مجموعة من التعليمات المحددة لتنفيذ الأفعال. استخدام الوظيفة الرئيسي هو جعل الكود قابلاً للتكرار.
من الناحية التقنية، يمكنك اعتبار الوظيفة كآلة. تقوم الآلة بتنفيذ مهام محددة، تتطلب إدخالًا وتعالج الإدخال وتقوم بإرجاع مخرج.
يعتمد ذلك على ما إذا كانت الوظيفة مسبقة التحديد أم مكتوبة من قبل البرمجية؛ هناك نوعان من الوظائف:
الدوال المكتبة - في إطار Swift Framework المحدد مسبقًا للوظائف.
الدوال المحددة من قبل المستخدم - الدوال التي يتم إنشاؤها من قبل المبرمجين أنفسهم.
الدوال المكتبة هي الدوال المدمجة التي تم تعريفها مسبقًا في إطار Swift. تقدم هذه الدوال لحل المشاكل الشائعة في Swift، لذا لا تحتاج إلى حلها بنفسك. إنها عمليات بسيطة مثل الطباعة، البحث عن أكبر وأصغر قيمة، وما إلى ذلك.
يمكنك استخدام دالة المكتبة مباشرة من خلال استدعائها. إذا كنت بحاجة إلى ذلك، يمكنك رؤية جميع الدوال في إطار Swift بكتابة import Swift، ثم الضغط على Cmd، ثم النقر على الدالة. ستنتقل إلى صفحة جديدة. ابحث عن جميع الجمل التي تبدأ بكلمة المفتاحية func.
print("مرحبًا، عالم!")
عند تشغيل البرنامج أعلاه، الناتج سيكون:
مرحبًا، عالم!
في البرنامج أعلاه، قمنا باستدعاء دالة print المحددة مسبقًا في إطار Swift. هذه الدالة تستخدم لتسجيل الخروج في الشاشة.
يمكننا استدعاء دالة print() لأن إطار Swift يقوم بتحميلها تلقائيًا إلى Playground الخاص بنا. وإلا، يجب علينا تحميلها بأنفسنا باستخدام import Swift.
يسمح Swift أيضًا لك بتعريف دوال خاصة بك. إن إنشاء دوال خاصة بك يساعد في كتابة كود لحل المشاكل أو تنفيذ وظائف غير موجودة في إطار Swift Framework. يمكنك أيضًا تكرار استخدام دوالك في المستقبل لتنفيذ مهام مشابهة.
على سبيل المثال، يمكن أيضًا تصنيف الدوال بناءً على المعاملات وجملة العودة. يرجى الرجوع إلى المقالةنوع معلمات الوظيفة ونوع الترجيع في Swift.
func function_name(args...) -> ReturnType { // جملة إعادة التشغيل قيمة }
دعنا نوضح بسرعة مكونات الدالة:
func هي الكلمة المفتاحية التي يجب كتابتها لإنشاء دالة.
function_name هو اسم الدالة. يمكنك تسميتها بأي اسم ترغب في تعريف وظيفة الدالة.
args… تعرف المدخلات التي تأخذها الدالة.
-> هذا المشتق يُستخدم لتحديد نوع العودة للدالة.
ReturnType تعرف نوع القيمة التي يمكن أن تعود منها الدالة. على سبيل المثال Int،String وما إلى ذلك
يستخدم الكلمة المفتاحية return لتحويل السيطرة على البرنامج إلى استدعاء الدالة، وإعادة القيمة من الدالة.
حتى لو لم تكن قد قمت بتحديد إعادة التشغيل الكلمة المفتاحية، ستعود الدالة أيضًا تلقائيًا بعد تنفيذ آخر سطر.
قيمة value تمثل البيانات الفعلية التي تعود من الدالة. يجب أن تطابق نوع القيمة ReturnType.
في الصورة أعلاه، يتم استدعاء الدالة function_name(args) باستخدام قيمة المعامل args وتنفيذها، ثم مغادرة الجزء الحالي من الكود (أي توقف تنفيذ الأوامر التالية) وبدء تنفيذ السطر الأول داخل الدالة.
该程序第一行代码,func function_name(Args...) ,并接受在函数调用function_name(args)期间传递的值args。
然后程序执行函数内部定义的 statementsInsideFunction 语句。
函数内部的语句按从上到下的顺序,逐个执行。
执行完最后一条语句后,程序离开函数,返回到它从Function_Name(Args)开始的地方。
let val = 将函数返回的值存储为一个常量 val。 同样,您可以将变量存储为var val =。
之后,将执行 statementsOutsideFunction 语句。
func greet(user:String) { print("Good Morning! \(user)") }
上面显示的是一个函数定义,其中包含以下组成部分:
关键字 func 标记函数头的开始。
greet 是用于在程序中唯一标识和调用函数的函数名称。
(user:String)标记函数头的结尾并接受 String 类型的参数。请参考文章Swift函数的参数类型和返回类型,它们定义了带有参数的函数。
该函数由主体内的一条print语句组成,该语句在您调用函数之后执行。
一旦创建了一个函数,就可以在程序中调用它来执行函数中声明的语句。要调用一个函数,你只需要写一个函数名后面跟着() ,然后把输入参数传递给它:
greet(user: "Isac")
func greet(user:String) { print("Good Morning! \(user)") } greet(user: "Isac")
عند تشغيل البرنامج أعلاه، الناتج سيكون:
Good Morning! Isac
在上面的代码中,调用自定义函数 greet(user: "Isac") 并传递字符串类型的值 Isact。之后,print执行函数内部的语句。
return 关键字告诉程序退出函数并返回到进行函数调用的行。
您也可以使用 return 关键字传递值,其中 value 是变量或从函数返回的其他信息。
func ٩١٬٩ ١ٮ٩٥ ٢١٤ ٩ ٯ ٥٩ٯ٢٤٩ ٢١٤ ٩ ٯ ٥٩ٯ٢٤٩ ٢١٤ ٩ ٯ ٥٩ٯ٢٤٩ return ٢١ٯ٤ ٩ ٯ ٭ٯٮ ٩ ٢١٤ ٩ ٯ ٬ٯ٫ٮٯ١٢٤ ٩ ٢١٤ ٩ ٯ ٥٩ٯ٢٤٩ ٢١٤ ٩ ٯ ٥٩ٯ٢٤٩ ٥٩ٯ٢٤٩ ٢١٤ ٩ ٯ ٬ٯ٫ٮٯ١٢٤ ٩ ٢١٤ ٩ ٯ ٥٩ٯ٢٤٩ ٢١٤ ٩ ٯ ٥٩ٯ٢٤٩ ٥٩ٯ٢٤٩ } let greeting = greet(user: "Isac") print(""" لديك رسالة جديدة \(greeting) """)
عند تشغيل البرنامج أعلاه، الناتج سيكون:
لديك رسالة جديدة Good Morning! Isac
في الكود أعلاه، يتم استدعاء وظيفة مخصصة greet(user: "Isac") وتم تمرير قيمة نوع النص Isact. ستعود جملة "Good Morning! \(user)" قيمة نوع النص، وسينتقل البرنامج إلى استدعاء الوظيفة.
let greeting = حفظ القيمة التي تعود من الوظيفة. بعد إكمال الوظيفة، سيتم تنفيذ أمر print تحت استدعاء الوظيفة.
حدد اسم الوظيفة يعكس استخدام الوظيفة.
الوظيفة يجب أن تقوم بمهمة واحدة فقط. إذا كانت الوظيفة تقوم بمهام متعددة، يجب تحليلها إلى وظائف متعددة.
حاول التفكير في تنظيم الأوامر في الوظيفة قدر الإمكان، مما يجعل الكود قابلاً للإعادة الاستخدام والتحسين.