محمد زارع شیرکوهی
محمد زارع شیرکوهی
خواندن ۲ دقیقه·۳ سال پیش

کاربرد when در کاتلین : آموزش کاتلین (قسمت 12)

قبل از هر چیز، اگه به برنامه نویسی اندروید علاقه مندی، من تو سایتم یک دوره آموزش برنامه نویسی اندروید از سطح کاملا مبتدی تا پیشرفته گذاشتم که کاملا رایگان میتونی ازش استفاده کنی، پس به دوره صفر مطلق اندروید یه سر بزن!
کاربرد when در کاتلین
کاربرد when در کاتلین

سلام به همه دوستان عزیز، تو این مقاله میخام در مورد یکی از امکانات باحال کاتلین صحبت کنم یعنی کاربرد when در کاتلین، این دستور زمانی به کارمون میاد که قراره چندین شرط مختلف رو چک کنیم، بریم ببینیم چطوری میشه این کارو کرد پس با من همراه باشید با آموزش رایگان کاتلین

راستی قبل از اینکه ادامه این آموزش رو بخونی، میدونستی ما تو سایت ترولرن یه دوره آموزش رایگان برنامه نویسی کاتلین بصورت مقاله محور داریم، این لیست آموزش‌های رایگان ما هستش حتما ببین چون کل کاتلین رو بصورت کاملا رایگان داریم آموزش می‌دیم.

کاربرد when در کاتلین

به جای استفاده از جملات if..else فراوان، بهتر است از when استفاده کنیم چون هم خواندن آن بسیار ساده‌تر است و هم هنگام کد نویسی، کد کمتری را می‌نویسید، این یکی دیگر از مزایای کاتلین است، در مثال زیر قرار است برنامه ای بنویسیم که بجای عدد روز هفته، نام آن را برگرداند مثلا اگر عدد 1 را بزنیم، شنبه را برمی‌گرداند:

val dayInWeek = 3
val result = when (dayInWeek) {
1 -> &quotشنبه&quot
2 -> &quotیکشنبه&quot
3 -> &quotدوشنبه&quot
4 -> &quotسه‌شنبه&quot
5 -> &quotچهارشنبه&quot
6 -> &quotپنج‌شنبه&quot
7 -> &quotجمعه&quot
else -> &quotروز وارد شده صحیح نیست&quot
}
println(result)
// Outputs &quotدوشنبه&quot (day 3)

دستور when در کاتلین بسیار شبیه به دستور switch..case در جاوا است ولی کار با آن بسیار ساده تر است زیرا دیگر نیازی به دستور break بعد از هر شرط نداریم و تعداد خطهای کد آن بسیار کمتر است.

مثال بالا چطوری کار کرد؟ ابتدا when برای متغیر dayInWeek ارزیابی می‌شود و مقدار آن با مقدار هر شاخه مقایسه می‌شود، هر شاخه با یک مقدار شروع می‌شود و پس از آن یک علامت <- وجود دارد و عبارتی که بعد از آن است نتیجه‌ای است که در صورت درست بودن شرط قرار است اجرا شود.

اگر مقدار dayInWeek با یکی از مقادیر برابر باشد، بلوک روبروی آن اجرا می‌شود ، اما اگر مقدار وارد شده با هیچ کدام از مقادیر برابر نبود، بلوک روبروی else اجرا می‌شود که به معنای عدم تطابق است.

در مثال بالا مقدار عدد 3 است پس بلوک روبروی عدد 3 یعنی عبارت “دوشنبه” اجرا می‌شود.

دقت کنید که نتیجه کل این دستور when را میتوانیم به صورت مستقیم درون یک متغیر بریزیم، همانطور که میبینید کل عبارت when را مستقیماً درون عبارت val result ریخته‌ایم، پس هر نتیجه ای که دستور when داشته باشد خروجی آن درون متغیر result قرار خواهد گرفت و در آخر هم این متغیر را چاپ کرده‌ایم.

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

دوست برنامه نویسی من، برای خوندن مقالات تخصصی اندروید، میتونی به سایت ترولرن هم مراجعه کنی



علاقه اصلی من برنامه نویسی اندروید هستش اما نزدیک به یک ساله که وارد دنیای وب و بک اند شدم و عاشق nodejs و mern stack هستم
شاید از این پست‌ها خوشتان بیاید