Junior
Kotlin'da 'spread' operatori nima va uni qanday ishlatish mumkin?
sobes.tech AI
AIdan javob
Kotlin'da 'spread' operatori * prefiksi bilan mos keladi, bu massiv yoki tarqalgan massiv (vararg) uchun. Bu, bunday kolleksiyaning elementlarini vararg ni kutadigan funktsiyaga uzatish uchun ishlatiladi. Asosan, u kolleksiyani alohida argumentlarga "tarqaladi" (spread).
Foydalanish misoli:
fun printNumbers(vararg numbers: Int) {
for (number in numbers) {
println(number)
}
}
fun main() {
val intArray = intArrayOf(1, 2, 3)
printNumbers(*intArray) // spread operatoridan foydalanish
}
* operatorisiz, intArray ni printNumbers funktsiyasiga uzatishga urinish kompilyatsiya xatosiga olib keladi, chunki printNumbers o'zgaruvchan sonli Int ni kutadi, massiv emas.
'spread' operatori, mavjud massivni yangi massiv yaratishda, uni alohida elementlar yoki boshqa massivlar bilan birlashtirishda ham ishlatilishi mumkin:
fun main() {
val array1 = arrayOf(1, 2)
val array2 = arrayOf(3, 4)
val combinedArray = arrayOf(*array1, 5, *array2) // spread operatoridan foydalanish
println(combinedArray.contentToString()) // [1, 2, 5, 3, 4] ni chiqaradi
}
Asosiy nuqtalar:
- Faqat
Array, primitiv massivlar vaVarargga taalluqlidir. - Koleksiyaning elementlarini funktsiyaga alohida argumentlar yoki yangi massiv elementlari sifatida tarqatuvchi.
*prefiksi bilan belgilangan.