کلمه continue
Kotlin continue word
فرض کنید در حال کار با حلقهها هستید. در شرایطی ممکن است نیاز داشته باشید که یک دور از حلقه نادیده گرفته شود. اینجا میتوانید از عبارت continue استفاده کنید. کامپایلر به محض دیدن continue از روی دستورات حلقه پریده و به آخرین خط یعنی آکولاد بسته میرسد، سپس دور بعدی حلقه را آغاز میکند. در زبان کاتلین نیز continue با همین عنوان در دسترس شماست.
طرز کار continue
این عبارت تقریبا همیشه در کنار if…else استفاده میشود:
1 2 3 4 5 6 7 | while (testExpression1) { // codes1 if (testExpression2) { continue } // codes2 } |
اگر مقدار عبارت testExpression2 به true تعبیر شود، continue اجرا شده و تمامی کدهای داخل حلقۀ while برای آن دور صرفنظر میشود.
continue برچسبدار در کاتلین
کامپایلر با دیدن عبارت continue به ابتدای حلقۀ جاری رفته و دور بعدی را آغاز میکند اما اگر حلقۀ ما خودش داخل حلقۀ دیگری قرار داشته باشد و بخواهیم با continue حلقۀ مادر ادامه پیدا کند باید چه کار کنیم؟ اینجاست که برچسبها در کاتلین به داد ما میرسد. به تصویر پایین نگاه کنید:
برچسب یا لیبل در کاتلین با علامت @ شروع میشود. در تصویر بالا به کامپایلر گفتهایم که با دیدن continue از ادامهی دستورات صرفنظر کرده و اجرا را به ابتدای حلقۀ مادر که با برچسب outerloop مشخص شده ببرد. این قابلیت به ما اجرا میدهد تا اجرای کد را از حلقۀ مورد نظر پی بگیریم.
مثال:
1 2 3 4 5 6 7 8 9 | fun main(args: Array<String>) { here@ for (i in 1..5) { for (j in 1..4) { if (i == 3 || j == 2) continue@here println("i = $i; j = $j") } } } |
خروجی:
1 2 3 4 | i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1 |
البته در کاتلین و تمامی زبانهای برنامهنویسی توصیه شده تا حد امکان از برچسبها در برنامه استفاده نکنیم چرا که خوانایی کدها را به شدت کاهش میدهند. سعی کنید برچسبها را حذف کرده و کد را به گونهای ریفکتور کنید که نیازی به آنها نباشد.
Kotlin continue word Kotlin continue word Kotlin continue word Kotlin continue word Kotlin continue word