تابع

توابع به شما اجازه می‌دهند که یک رفتار یا وظیفه را تعریف کنید و مجموعه‌ای از کدها هستند که در هر جای برنامه می‌توان از آنها استفاده کرد. توابع دارای آرگومانهایی هستند که وظیفه تابع را مشخص می‌کنند. ساختار کلی تعریف تابع در Swift به صورت زیر است:

func functionName(parameters) -> return type 
{
    // statements
}

برای تعریف تابع از کلمه کلیدی func استفاده می کنیم. functionName نامی است که برای تابع در نظر می گیریم.

گاهی اوقات دو کلمه پارامتر و آرگومان به یک منظور به کار می‌روند. می‌توان یک تابع را در داخل تابع دیگر تعریف کرد. وقتی که شما در برنامه یک تابع را صدا می‌زنید برنامه به قسمت تعریف تابع رفته و کدهای آن را اجرا می‌کند. ساده‌ترین ساختار یک تابع به صورت زیر است :

func functionName()
{
   code to execute
}

به برنامه ساده زیر توجه کنید. در این برنامه از یک تابع برای چاپ یک پیغام در صفحه نمایش استفاده شده است :

  1: func printMessage()
  2: {
  3:     print("Hello World!")
 4 : }
  5: 
  6: printMessage()
Hello World!

در خطوط 4-1 یک تابع تعریف کرده‌ایم. مکان تعریف آن در برنامه مهم نیست. کار این تابع چاپ یک پیغام تعریف است. در تعریف تابع بالا، ابتدا کلمه کلیدی func آمده است که نشان دهنده آن است که ما می‌خواهیم یک تابع تعریف کنیم. نام تابع ما ()printMessage است.
به این نکته توجه کنید که در نامگذاری تابع از روش کوهان شتری (اولین کلمه با حروف کوچک نوشته می‌شود و بقیه کلمات با حرف بزرگ شروع می‌شوند) استفاده کرده‌ایم. این روش نامگذاری قراردادی است و می‌توان از این روش استفاده نکرد، اما پیشنهاد می‌شود که از این روش برای تشخیص توابع استفاده کنید. بهتر است در نامگذاری توابع از کلماتی استفاده شود که کار آن تابع را مشخص می‌کند مثلاً نام‌هایی مانند goToBed یا openDoor.
همچنین به عنوان مثال اگر مقدار برگشتی تابع یک مقدار بولی باشد می‌توانید اسم تابع خود را به صورت یک کلمه سوالی انتخاب کنید مانند isLeapyear یا isTeenager … ولی از گذاشتن علامت سؤال در آخر اسم تابع، خودداری کنید. دو پرانتزی که بعد از نام می‌آید، نشان دهنده آن است که، نام متعلق به یک تابع است. در این مثال در داخل پرانتزها هیچ چیزی نوشته نشده چون پارامتری ندارد. در درسهای آینده در مورد توابع بیشتر توضیح می‌دهیم.
بعد از پرانتزها دو آکولاد قرار می‌دهیم که بدنه تابع را تشکیل می‌دهد و کدهایی را که می‌خواهیم اجرا شوند را در داخل این آکولادها می‌نویسیم. در خط 6، تابعی که ایجاد کرده‌ایم را، صدا می‌زنیم. برای صدا زدن یک تابع کافیست نام آن را نوشته و بعد از نام پرانتزها را قرار دهیم.
اگر تابع دارای پارامتر باشد باید شما آرگومانها را به ترتیب در داخل پرانتزها قرار دهید. در این مورد نیز در درسهای آینده توضیح بیشتری می‌دهیم. با صدا زدن یک تابع کدهای داخل بدنه آن اجرا می‌شوند. برای اجرای تابع ()printMessage برنامه از خط 6 به محل تعریف تابع ()printMessage می‌رود. مثلاً وقتی ما تابع ()printMessage را در خط 6 صدا می‌زنیم برنامه از خط 6 به خط 1، یعنی جایی که تابع تعریف شده می‌رود و کدهای بدنه آن یعنی خط 3 را اجرا می‌کند.