معرفی زبان برنامه نویسی Swift

پنجشنبه 18 شهریور 1395

هدف از این مقاله ، آشنایی با زبان برنامه نویسی Swift است . این زبان توسط کمپانی بزرگ Apple منتشر شده است و اخیرا توسط Google برای کار با اندروید برگزیده شده است . برای کار با این زبان حتما باید Mac داشته باشید .

معرفی زبان برنامه نویسی Swift



Swift چیست ؟
Swift یک زبان برنامه نویسی است که در سال 2014 توسط Apple معرفی شد . همانطور که میدانید ، Apple از زبان 
Objective-C به عنوان زبان نهادی برای توسعه برنامه‌های iOS ( یا  OS X, watchOS, tvOS ) استفاده میکند . Swift یک زبان general purpose, multi-paradigm, compiled است . Apple برای توسعه برنامه ها دارای فریمورکی به نام Cocoa و CocoaTouch است . 

تاریخچه :
رشد و نمو Swift در سال 2010 توسط Chris Lattner شروع شد . زبان Swift از Objective-C, C, Rust, Haskell, Ruby, Python, C# و CLU الهام گرفته است . در 2 June سال 2014 ، Apple اولین شرکتی بود که برنامه ای را منتشر کرد که تماما توسط زبان Swift نوشته شده بود . Apple همچنین یک تکنیک هم معرفی کرد که به کمک ان شما Source کدهایی که به زبان Objective-C دارید را میتوانید به swift تبدیل کنید . در بررسی های تیم توسعه stack overflow ، زبان Swift محبوب ترین زبان برنامه نویسی شد ، و Google هم در نظر دارد که از Swift به عنوان زبان اول برای اندروید ، استفاده کند . 

پیش نیاز ها :

1. A Mac or MacBook ( بله ، شما نمیتوانید در ویندوز کد بزنید )
2. Xcode 6.0+ IDE ( آن را از AppStore می‌توانید دانلود کنید )
3. داشتن اطلاعات در مورد برنامه نویسی شئ گرا 


Syntaxهای ابتدایی Swift :
زمانی که کدهای Swift را می‌نویسیم ، برای تعریف متغیرها از روش CamelCase استفاده می‌کنیم . 
بر عکس Swift ، Objective-c یک زبان مستقل است و هیچ شباهتی با زبان C ندارد ( Swift یک مجموعه از C نیست) .

جملات Swift در انتهایشان نیاز به " ; " ( semicolon ) ندارند اما اگر از " ; " در انتهای جملات خود استفاده کنید به مشکلی بر نخواهید خورد . 

Swif برای اجرا نیاز به متد ()main ندارد . 


Playground : 
زمانی که زبان برنامه نویسی ای را شروع میکنید ، شما نیاز به یک template برای تست و دیدن خروجی کدهای خود بصورت بلادرنگ دارید . تا بحال ، شما کد را می‌نوشتید ، کد را کامپایل می‌کردید و سپس خروجی را می‌دیدید .  بنابراین ، Xcode یک نوع ویژه از Template پروژه را ارائه داده است که شما میتوانید کدهای خود را نوشته و خروجی آن را بصورت لحظه ای و بلادرنگ در پنجره Console ببینیند . 




همانطور که مشاهده می‌کنید ، یک متغیر با نام firstName تعریف کردیم . در اینجا ، در قسمت کناری یک پنجره وجود دارد که مقداری را که در این متغیر قرار داده ایم را نمایش میدهد .


متغیرها & ثابت ها :
در زبان برنامه نویسی ، متغیرها همانند موجودیت هایی هستند که در طول اجرای برنامه مقدار آنها عوض میشود .
یا ، می‌توان این را گفت که متغیر ها برای ذخیره سازی داده ای با نوع داده مشخص استفاده می‌شوند . نوع داده میتواند هر چیزی باشد ، مثل ، Bool, Integer, Float, Double, Character یا String .

در Swift ، ما از کلمه کلیدی var برای تعریف متغیر استفاده می‌کنیم . 

من 22 سالم است ، این را بصورت کد مینویسیم : 

 

var myAge = 23  


ثابت ها همانند متغیرها هستند ، فقط با این تفاوت که مقدار آنها در طول برنامه تغغیر نمیکند . یا ، میتوان گفت که یک بار مقدار دهی می‌شوند و تا انتهای برنامه همان مقدار را دارند . ما از کلمه کلیدی let برای تعریف ثابت ها  استفاده میکنیم .
 

let votingAge = 18  

کد بالا بیان دارد که شما نمیتوانید votingAge را تغییر دهید ؛ و اگر اقدامی برای این کار کنید با خطا مواجه خواهید شد . 


حال ، ما در مورد نوع Interface صحبت خواهیم کرد . قبل شروع به توضیح Type Interface ، یکسری کد را می‌نویسیم . 

 

Var myName = “Abhishek”  

در اینجا ،  نوع متغیر ما به دلیل اینکه که یک رشته درون آن ریخته ایم ، myName یک String است . 
 

var myEmpolyeeId = 1308

نوع متغیر ما به دلیل اینکه یک integer درون آن ریخته ایم ، integer است . 
بنابراین ، swift نوع داده را مشخص میکند و آن را به متغیر انتساب می‌دهد ، این ویژگی از Swift را Type Interface می‌گویند .


حال ، زمانی که  مقادیری را به نوع های مختلف انتساب می‌دهیم ، یک خطا نمایش داده می‌شود بدین مضمون که Swift یک زبان TypeSafe است . 


حال ، باید این فکر درون ذهن شما ایجاد شود که generic type ، var است . چگونه می‌شود بدون اینکه متغیری را  مقدار دهی اولیه کنیم ، آن را تعریف کنیم . خب ، در این موارد ، باید نوع را بصورت صریح تعریف کنید . 

داریم که :

Var myName : String  
Var myAge : Int  
Var canVote : Bool  


با انجام اینکار ، ما نوع را مشخص می‌کنیم .

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

 

Var myName = “Abhishek” // Type Interface  
Var myName : String // Explicit Type Declaration 


Commentها :

commentها اون دسته از خط هایی هستند که توسط کامپایلر در نظر گرفته نمی‌شوند . در همه زبانهای برنامه نویسی ، Commentها نقشی اساسی در کد نویسی های خوب دارند . نوشتن Comment ها بصورت مکرر و استفاده از آن در کد نویسی ها میتواند بهترین تمرین برای شما باشد . (بهترین تمرین برای کدنویسی استاندارد)

در Swift ما سه نوع Comment گذاری داریم :

1. Single Line Comment 
2. Block Comment 
3. Marking Comment

 Marking Comment  ، یک تکنیک برای تعمیم دادن بلاک ها است ، زمانی که شما در xcode کد می‌نویسید . 


Single Line Comment :
با دو تا اسلش "//" شروع میشود .
 

// This is my Comment 

Block Comment :
زمانی که شما بیش از یک خط کامنت میخواهید ، از این استفاده می‌کنید . بنا بر یکسری قرار داد ، معمولا
Block Commentها در ابتدای کلاس‌ها برای توضیح دادن اینکه ، اون کلاس چه عملی را انجام می‌دهد ، نوشته میشوند ؛ اما این به شما بستگی دارد که از این در کجا استفاده کنید . 

Print :
Print یک متد بنیادی است برای نمایش دادن یک مقدار در پنجره Console ، مورد استفاده قرار می‌گیرد . 

در #C این عمل را با ()WriteLine انجام میدادیم .

ما از تکنیک درج (interpolation) برای نمایش مقدار متغیر/ثابت بصورت string ، استفاده می‌کنیم . در Swift ، ما از یک فرمت خاص برای درج یک متغیر استفاده می‌کنیم . 

اگر شما myAge را میخواهید درج کنید ، پس ما باید (myAge)\ را بنویسیم . برای درک بهتر تصویر زیر را مشاهده کنید :



زمانی که ما از (VARIBALE_NAME)\ استفاده میکنیم ، کامپایلر مقدار متغیر درون پرانتز را بر میدارد . 

تغییرپذیری نوع داده ها :

چون Swift تعداد کمی از ویژگی های Objective-cرا برداشته است ، ما در Swift دو دسته کلاس داریم ، تغییرپذیر و تغییر ناپذیر .

مثلا :


• NSString/NSMutableString

• NSArray/NSMutableArray


اما ، ما با انتساب let و  var میتوانیم رفتار متفاوتی با نوع ها داشته باشیم . 

زمانی که یک متغیر String  تعریف میکنیم . 

Var myName: String

سپس ، این یک تغیرپذیر در رشته (mutable String) است (بدین معنا که ، میتوانیم در string آن را گسترش بدیم )

"Let myName: String = “Abhishek

پس ، این Immutable String است ، یعنی نمیتوانیم آن را تغییر دهیم . 

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید