پارامترهای پیشفرض

پارامترهای پیشفرض، همانگونه که از اسمشان پیداست، دارای مقادیر پیشفرضی هستند و می‌توان به آنها آرگومان ارسال کرد یا نه. اگر به اینگونه پارامترها، آرگومانی ارسال نشود از مقادیر پیشفرض استفاده می‌کنند. به مثال زیر توجه کنید :

 1: func PrintMessage(_ message: String = "Welcome to Swift Tutorials!")
 2: {
 3:   print(message) 
 4: }  
 5: 
 6: PrintMessage()    
 7: PrintMessage("Learn Swift Today!")
Welcome to Swift Tutorials!
Learn Swift Today!

تابع PrintMessage() (خطوط 4-1) یک پارامتر اختیاری دارد. برای تعریف یک پارامتر اختیاری می‌توان به آسانی و با استفاده از علامت = یک مقدار را به یک پارامتر اختصاص داد (مثال بالا خط 1). دو بار تابع را فراخوانی می‌کنیم. در اولین فراخوانی (خط 6) ما آرگومانی به تابع ارسال نمی‌کنیم بنابراین تابع از مقدار پیشفرض (Welcome to Swift Tutorials!) استفاده می‌کند. در دومین فراخوانی (خط 7) یک پیغام (آرگومان) به تابع ارسال می‌کنیم که جایگزین مقدار پیشفرض پارامتر می‌شود. اگر از چندین پارامتر در تابع استفاده می‌کنید همه پارامترهای اختیاری را در آخر بقیه پارامترها ذکر بنویسید. دلیل این امر این است که معمولا پارامترهایی که آرگومان دریافت می کنند، نسبت به پارامترهای پیشفرض اهمیت بیشتری دارند. در نتیجه برای شفافیت در کدنویسی، عادت کنید که آنها را قبل از پارامترهای با مقدار پیشفرض بنویسید.