ویرگول
ورودثبت نام
نیما
نیما
خواندن ۴ دقیقه·۶ سال پیش

بیا دو خط به زبان Swift کد بزنیم

سوئیفت از زبان‌هایی مثل #Objective-C، Rust، Haskell، Ruby، Python، C و بسیاری دیگر الهام گرفته‌شده
سوئیفت از زبان‌هایی مثل #Objective-C، Rust، Haskell، Ruby، Python، C و بسیاری دیگر الهام گرفته‌شده


صرفا قرار نیست امروز کل سوئیفت (یا سویفت) رو یاد بگیرید و همه‌ی سینتکس ها رو باهم بررسی کنیم ولی بد نیست ی تجربه کمی از کار با سوئیفت تو زندگیتون داشته باشید.

من وارد توضیحات و پیدایش سوئیفت و این صحبت ها نمیشم و میسپرم به خودتون که اگه علاقه دارید برید دنبالش چون هدف ما اینجا فقط کد زدن و کار عملی هستش! ولی در این حد بدونید که زبان جدیدی هست که کمپانی اپل سال 2014 جایگزین Objective-C کرده و برنامه نویس‌ها و توسعه دهندگان جدیدا ازش برای توسعه iOS و TvOS و MacOS و WatchOS استفاده میکنن.

اول از همه ما در سوئیفت شاهد Constants و Variables هستیم که خیلی ساده هست، وقتی شما Constant که به معنی ثابت هست رو تعریف کنید امکان تغییر مقدار رو دیگه ندارید و فقط Variable که به معنی متغیر هست این امکان رو داره !

یک مثال الان همه چیز رو روشن میکنه

var x = 5 let y = 10

به راحتی دو مقدار رو تعریف کردیم که از جنس Int هستن و لزومی نداره شما مشخص کنید که Int هست یا Double یا String ... ولی اگه لازم باشه این قابلیت رو داره که مشخص کنید، نگران نباشید :))

خب دیگه باید کد بزنیم کافیه یک کامپایلر سوئیفت رو سرچ بزنید و طبق میل و سلیقه خودتون یکیشون رو انتخاب کنید یا به پیشنهاد من واسه‌ی شروع از این لینک استفاده کنید.

خب حالا میخوایم ببینیم واقعا Variable و Constant فرق دارن یا سوویفت داره ما رو سر کار میذاره؟
برای مقدار دهی دوباره و تغییر مقدار کافیه بدون var و let اون تکه کد رو تکرار کنیم چون یکبار تعریف شده و مقدار جدید رو بهش اعلام کنیم
من تصمیم میگیرم x رو به 50 تغییر بدم و y رو 100 کنم، یعنی به این شکل

x = 50 y = 100


خب قبل اینکه Run کنیم چک کنیم ببینیم کد هامون شبیه هم هست یا نه؟ راستی باید اعداد رو print کنیم تا خروجی بگیریم که پرینت هم داستان خاصی نداره، پس کد کامل به شکل زیر میشه

var x = 5 let y = 10 x = 50 y = 100 print(x+y)


خب قطعا منتظر ارور هستیم و ارور میگیریم که میگه یا y رو مقدارش رو تغییر نده و بیخیالش شو یا از نوع var تعریفش بکن و خیال همه رو راحت کن
که ارور دقیقا همین رو به صورت انگلیسی ازتون میخواد

Swift:: Error: cannot assign to value: 'y' is a 'let' constant  note: change 'let' to 'var' to make it mutable

خب مشخصه راه حل چیه فقط باید let رو تبدیل به var کرد




یکم بریم با print کار کنیم جذاب تر بشه کد زدنمون
مثل سی شارپ و خیلی زبان های دیگه شما میتونید دوتا جمله رو با + بهم متصل کنید و جملات هم داخل دوتا " قرار میگیرن، این زیر میخوایم چند مدل Hello World چاپ کنیم ببینیم داستان از چه قراره

print("Hello World") //output: Hello World //================================= var x = "Hello" var y = "World" //================================= print(x+y) //output: HelloWorld print(x + " " + y) //output: Hello world //================================= print("\(x) \(y)") //output: Hello world

اگه همین خط ها رو تست کنید دقیقا خروجی که رو به روش نوشته شده رو میگیرید، اگه جایی رو متوجه نشدید میتونید با جستجو راجع‌بهش مطالعه کنید یا در بخش نظرات بنویسید تا کمکتون میکنم

بد نیست تلاش کنید چالش زیر رو انجام بدید تا دو خط بیشتر کد زده باشید و دستاتون حسابی به کد آلوده شه




  • سعی کنید اسمتون رو در متغیر name و نام خانوادگی رو در متغیر family تعریف کنید و با تابع پرینت ازش به همراه یک Hello چاپ بگیرید.
    بر فرض اگر اسم من Nim و فامیلی من Nimak هست خروجی به شکل !Hello Nim Nimak باشه.
  • سعی کنید با دو عدد 8 و 4، 4 عمل اصلی ریاضی (ضرب جمع تقسیم منها) رو انجام بدید و چهار بار به کمک تابع print جداگانه چاپ کنید.
  • سعی کنید چالش دوم رو تنها و تنها فقط به کمک یک تابع پرینت انجام بدید.




خب فکر کنم برای امروز کافی باشه، امیدوارم تنبل نباشید، لب تاب رو روشن کنید و این چالش ها رو که شاید 10 خط هم نشه انجام بدید، البته اگه مثل من خیلی خسته هستین توی گوشی هم میشه کد زد ولی یکم سخته

پیشاپیش از دوستانی که حرفه‌ای هستن هم عذر خواهی میکنم، خلاصه یکی باید هوای تازه وارد ها رو داشته باشه !

ممنون میشم نظراتتون رو بدونم و اگه دوست داشتید همین روند رو چه در این زبان یا در زبان های دیگه ادامه بدم تا با چند زبان مختلف یک آشنایی ریزی داشته باشید

برنامه نویسیسویفتسوئیفتاپلآموزش
اومدم چند کلمه ای بنویسم زود برم. گیت‌هابم Github.com/iw4p
شاید از این پست‌ها خوشتان بیاید