محدوده متغیر

متغیرها در Swift، دارای محدوده هستند. محدوده یا scope یک متغیر، به شما می‌گوید که در کجای برنامه می‌توان از متغیر استفاده کرد و یا متغیر قابل دسترسی است. به عنوان مثال، متغیری که در داخل یک تابع تعریف می‌شود، فقط در داخل بدنه تابع قابل دسترسی است. می‌توان دو متغیر با نام یکسان در دو تابع مختلف تعریف کرد. برنامه زیر این ادعا را اثبات می‌کند :

 1: func demonstrateScope()
 2: {
 3:     let number = 5
 4: 
 5:     print("number inside function  demonstrateScope() = \(number)")
 6: }
 7: 
 8: 
 9: var number = 10
10: 
11: demonstrateScope()
12: 
13: print("number outside function demonstrateScope() = \(number)")
number inside function DemonstrateScope() = 5
number outside function DemonstrateScope() = 10

مشاهده می‌کنید که، حتی اگر ما دو متغیر با نام یکسان تعریف کنیم که، دارای محدوده‌های متفاوتی باشند، می‌توان به هر کدام از آنها مقادیر مختلفی اختصاص داد. متغیر تعریف شده در خط 10 هیچ ارتباطی به متغیر داخل تابع demonstrateScope() در خط 3 ندارد. وقتی به مبحث کلاسها رسیدیم در این باره بیشتر توضیح خواهیم داد.