استفاده از متغیرها

در مثال زیر نحوه تعریف و مقدار دهی متغیرها نمایش داده شده است :

 1: //Declare variables                            
 2: var num1    :Int      
 3: var num2    :Int      
 4: var num3    :Float  
 5: var num4    :Float  
 6: var boolVal :Bool     
 7: var myChar  :String   
 8:                                    
 9: //Assign values to variables  
10: num1    = 1        
11: num2    = 2        
12: num3    = 3.54     
13: num4    = 4.12     
14: boolVal = true     
15: myChar  = "R"           
16: 
17: //Show the values of the variables
18: print("num1    = \(num1   )")
19: print("num3    = \(num3   )")
20: print("num4    = \(num4   )")
21: print("boolVal = \(boolVal)")
22: print("num2    = \(num2   )")
23: print("myChar  = \(myChar )")
num1    =  1
num3    =  3.54
num4    =  4.12
boolVal =  true
num2    =  2
myChar  =  "R"

تعریف متغیر

برای تعریف متغیر از دو کلمه var به صورت زیر استفاده می‌شود:

var identifier :type

var یک کلمه کلیدی، identifier نام و type نوع متغیر است. در این روش ما صراحتاً نوع متغیر را ذکر می‌کنیم. توجه کنید که قبل از نوع متغیر باید علامت : را قرار دهید. تعریف متغیر با مقدار دهی متغیرها متفاوت است. تعریف متغیر یعنی انتخاب نوع و نام برای متغیر (خطوط 7-2) ولی مقدار دهی یعنی اختصاص یک مقدار به متغیر (خطوط 15-10). برای تعریف چند متغیر از یک نوع می‌توان به صورت زیر عمل کرد :

var identifier1, identifier2, ... indentifierN: data_type

مثال

var num1, num2, num3, num4, num5: Int

var message1, message2, message3: String

در مثال بالا 5 متغیر از نوع صحیح و 3 متغیر از نوع رشته تعریف شده است. توجه داشته باشید که بین متغیرها باید علامت کاما (,) باشد.

مقداردهی متغیرها

می‌توان فوراً بعد از تعریف متغیرها مقادیری را به آنها اختصاص داد. این عمل را مقداردهی می‌نامند. در زیر نحوه مقدار دهی متغیرها نشان داده شده است :

var identifier : data_type = value

به عنوان مثال :

var myNumber : Int = 7

همانطور که در کد ابتدای درس می‌بینیم، ما اول متغیرها را در خطوط 7-2 تعریف و سپس در خطوط 15-10 مقداردهی کرده‌ایم. پس خطوط 21-8 کد بالا را می‌توان به صورت زیر هم خلاصه کرد:

var num1   : Int    =  1
var num2   : Int    =  2
var num3   : Float  =  3.54
var num4   : Float  =  4.12
var boolVal: Bool   =  true
var myChar : String =  "R"

یک روش دیگر هم برای تعریف متغیر وجود دارد و آن این است که نوع متغیر را صراحتا اعلام نکنیم :

var identifier = value

در روش بالا، باید فوراً بعد از علامت مساوی مقدار متغیر را هم بنویسیم، تا کامپایلر به صورت خودکار و با توجه به مقدار نوع متغیر را تشخیص دهد:

var myNumber = 7

روش دیگر برای تعریف و مقداردهی چندین متغیر در یک خط، چه از یک نوع باشند و چه نباشند، به صورت زیر است:

var x = 0.0, y = 10, z = "This is a string"

در این روش نوع آنها را مشخص نمی کنیم تا کامپایلر نوع متغیرها را به صورت خودکار تشخیص دهد.

نامگذاری متغیرها

  • نام متغیر باید با یک حرف یا زیرخط و به دنبال آن حرف یا عدد شروع شود.
  • نمی‌توان از کاراکترهای خاص مانند # ،% ،& یا عدد برای شروع نام متغیر استفاده کرد مانند 2numbers.
  • نام متغیر نباید دارای فاصله باشد. برای نام‌های چند حرفی می‌توان به جای فاصله از علامت زیرخط یا _ استفاده کرد.

نامهای مجاز :

num1  myNumber  studentCount  total       first_name    _minimum
num2  myChar    average       amountDue   last_name     _maximum
name  counter   sum           isLeapYear  color_of_car  _age

نامهای غیر مجاز :

123        #numbers#  #ofstudents  1abc2
123abc     $money     first name   ty.np  
my number  this&that  last name    1:00

اگر به نامهای مجاز در مثال بالا توجه کنید متوجه قراردادهای به کار رفته در نامگذاری آن‌ها خواهید شد. یکی از روشهای نامگذاری، نامگذاری کوهان شتری است. در این روش که برای متغیرهای دو کلمه‌ای به کار می‌رود، اولین حرف اولین کلمه با حرف کوچک و اولین حرف دومین کلمه با حرف بزرگ نمایش داده می‌شود مانند : myNumber توجه کنید که اولین حرف کلمه Number با حرف بزرگ شروع شده است. مثال دیگر کلمه numberOfStudents است. اگر توجه کنید، بعد از اولین کلمه، حرف اول سایر کلمات با حروف بزرگ نمایش داده شده است.

به خطوط 23-18 کد بالا، توجه کنید. نام متغیرها در این خطوط در داخل ()\ نوشته شده است. وجود نام متغیرها در بین دو علامت پرانتز و بعد از علامت \ بدین معناست که ما مقدار متغیر را می خواهیم. برای درک بهتر خطوط 23-18 کد بالا را به صورت زیر نوشته و برنامه را اجرا کنید:

print("num1    = num1   ")
print("num3    = num3   ")
print("num4    = num4   ")
print("boolVal = boolVal")
print("num2    = num2   ")
print("myChar  = myChar ")

با اجرای برنامه، نام متغیرها چاپ می شود نه مقدار آنها :

num1    = num1
num3    = num3
num4    = num4
boolVal = boolVal
num2    = num2
myChar  = myChar

پس اگر مقدار یک متغیر را می خواهید چاپ کنید، باید نام متغیر را در داخل ()\ بنویسید، مانند (num1)\. نکته پایانی این که، در Swift بر خلاف بسیاری از زبان های برنامه نویسی لازم نیست که در انتهای هر دستور از علامت سمیکالن (;) استفاده کنید. از این علامت زمانی استفاده می شود که شما بخواهید چند دستور را در یک خط بنویسید، که در این صورت لازم است دستورات را با استفاده از سمیکالن از هم جدا کنید. مانند:

var number = 10 ; print(number)