با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش Swift را دنبال می کنند. هنگام انجام برنامه نویسی در هر زبان برنامه نویسی، شما باید از انواع مختلفی برای ذخیره سازی اطلاعات در برنامه استفاده کنید. متغیرها هیچ چیزی جز یک مکان ذخیره شده برای ذخیره مقادیر نیستند. این بدان معنی است که هنگامی که شما یک متغیر ایجاد می کنید، برخی از فضای حافظه را ذخیره می کنید. در یک برنامه ممکن است شما نیاز به ذخیره سازی داده هایی از نوع integer ، اعشاری ، Boolean و… داشته باشید. بسته به نوع متغیری که تعریف می کنید سیستم عامل بخشی از حافظه ی سیستم را برای ذخیره داده رزرو می کند. برای آشنایی با نوع داده در Swift در ادامه ی این مباحث با ما همراه باشید.
در ادامه ی این آموزش شما را با ساختارهای نوع داده و جزئیات مربوط به آن آشنا می کنیم.
Swift 4 انواع مختلفی را برای ذخیره سازی داده ها ایجاد کرده است که به شرح زیر است:
در حالی که UInt32 یا UInt64 برای تعریف متغیرهای عدد صحیح ۳۲ یا ۶۴ بیت بدون علامت تعیین شده است.
ما در اینجا چند نکته مهم مربوط به انواع Integer را ذکر کرده ایم :
جدول زیر نشانگر نوع متغیر، مقدار حافظه ای که برای ذخیره مقدار در حافظه می گیرد، و حداکثر و حداقل مقداری است که می تواند در چنین نوع متغیر ذخیره شود:
نوع | Typical Bit Width | Typical Range |
---|---|---|
Int8 | ۱byte | -۱۲۷ to 127 |
UInt8 | ۱byte | ۰ to 255 |
Int32 | ۴bytes | -۲۱۴۷۴۸۳۶۴۸ to 2147483647 |
UInt32 | ۴bytes | ۰ to 4294967295 |
Int64 | ۸bytes | -۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۸ to 9223372036854775807 |
UInt64 | ۸bytes | ۰ to 18446744073709551615 |
Float | ۴bytes | (۱٫۲E-38 to 3.4E+38 (~6 digits |
Double | ۸bytes | (۲٫۳E-308 to 1.7E+308 (~15 digits |
شما می توانید یک نام جدید برای هر نوعی با استفاده از typealias تعریف کنید:
1 | typealias newname = type |
به عنوان مثال، خط زیر دستور کامپایلر را مشخص می کند که با یک نام دیگر برای اینتر است:
1 | typealias Feet = Int |
در حال حاضر، اعلامیه زیر کاملا قانونی است و یک متغیر صحیح به نام فاصله را می دهد:
1 2 3 | <span class="pln">typealias </span><span class="typ">Feet</span> <span class="pun">=</span> <span class="typ">Int</span> <span class="kwd">var</span><span class="pln"> distance</span><span class="pun">:</span> <span class="typ">Feet</span> <span class="pun">=</span> <span class="lit">100</span> <span class="kwd">print</span><span class="pun">(</span><span class="pln">distance</span><span class="pun">)</span> |
هنگام اجرای برنامه فوق با استفاده از playground، نتیجه زیر را دریافت می کنیم:
1 | 100 |
Swift 4 یک زبان type-safe است، این به این معنی است که اگر شما یک نوع رشته تعریف کنید نمی توانید به اشتباه آن را به int تبدیل کنید.
همچنین در هنگام تایپ دستورات Swift عبارات اشتباه و ناشناس را به عنوان خطا به نشان می دهد.
1 2 3 | var varA = 42 varA = "This is hello" print(varA) |
زمانیکه کد فوق را کامپایل کنید، با خطای زیر مواجه خواهید شد:
1 2 | main.swift:2:8: error: cannot assign value of type 'String' to type 'Int' varA = "This is hello" |
Type inference باعث می شود که بدون تعریف نوع یک داده در هنگام تعریف متغیر بر اساس مقدار آن نوع آن متغیر شناسایی شود.
به نمونه های زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 11 | // varA از نوع int در نظر گرفته می شود. var varA = 42 print(varA) // varB از نوع double در نظر گرفته می شود. var varB = 3.14159 print(varB) // varC از نوع double در نظر گرفته می شود. var varC = 3 + 0.14159 print(varC) |
زمانیکه با استفاده از playground برنامه ی فوق را اجرا کنیم، خروجی زیر را مشاهده خواهیم کرد:
1 2 3 | 42 3.14159 3.14159 |
مانند تمام زبان های برنامه نویسی دیگر، در swift نیز برای ذخیره سازی انواع مقادیر، انواع داده از جمله int ، double ، boolean و … تعریف شده است. نوع داده در Swift به کاربر اجازه می دهد تا نوع متغیرها را خودش مشخص کند.