عملگرهای تخصیصی

نوع دیگر از عملگرهای کاتلین عملگرهای جایگزینی نام دارند. این عملگرها مقدار متغیر سمت راست خود را در متغیر سمت چپ قرار می‌دهند. جدول زیر انواع عملگرهای تخصیصی در کاتلین را نشان می‌دهد:

عملگر مثال نتیجه
= var1 = var2 مقدار var1 برابر است با مقدار var2
+= var1 += var2 مقدار var1 برابر است با حاصل جمع var1 و var2
-= var1 -= var2 مقدار var1 برابر است با حاصل تفریق var1 و var2
*= var1 *= var2 مقدار var1 برابر است با حاصل ضرب var1 در var2
/= var1 /= var2 مقدار var1 برابر است با حاصل تقسیم var1 بر var2
%= var1 %= var2 مقدار var1 برابر است با باقیمانده تقسیم var1 بر var2

از عملگر =+ برای اتصال دو رشته نیز می‌توان استفاده کرد. استفاده از این نوع عملگرها در واقع یک نوع خلاصه نویسی در کد است. مثلاً شکل اصلی کد var1 += var2 به صورت var1 = var1 + var2 می‌باشد. این حالت کدنویسی زمانی کارایی خود را نشان می‌دهد که نام متغیرها طولانی باشد. برنامه زیر چگونگی استفاده از عملگرهای تخصیصی و تأثیر آنها را بر متغیرها نشان می‌دهد.

fun main(args: Array<String>)
{
    var number: Int

    println("Assigning 10 to number...")
    number = 10
    println("Number = $number")

    println("Adding 10 to number...")
    number += 10
    println("Number = $number")

    println("Subtracting 10 to number...")
    number -= 10
    println("Number = $number")
}
Assigning 10 to number...
Number = 10
Adding 10 to number...
Number = 20
Subtracting 10 from number...
Number = 10

در برنامه از 3 عملگر تخصیصی استفاده شده است. ابتدا یک متغیر و مقدار 10 با استفاده از عملگر = به آن اختصاص داده شده است. سپس به آن با استفاده از عملگر =+ مقدار 10 اضافه شده است. و در آخر به وسیله عملگر =- عدد 10 از آن کم شده است.