Junior
Kotlin'te 'spread' operatory nedir ve nasıl kullanılır?
sobes.tech AI
AIден жооп
Kotlin-деги 'spread' оператору * префикси менен туура келет, ал массив же тараган массив (vararg) алдында турат. Ал мындай жыйнактын элементтерин функцияга өткөрүү үчүн колдонулат, ал функция өзгөрмө саны аргументтерди (vararg) күтөт. Негизинен, ал жыйнактын элементтерин "жайылтат" (spread).
Куллануу мисалы:
fun printNumbers(vararg numbers: Int) {
for (number in numbers) {
println(number)
}
}
fun main() {
val intArray = intArrayOf(1, 2, 3)
printNumbers(*intArray) // spread операторун колдонуу
}
* оператору жок болсо, intArray'ны printNumbers функциясына өткөрүүгө аракет кылуу компиляция катасына алып келет, анткени printNumbers өзгөрмө саны Int күтөт, массив эмес.
'spread' оператору жаңы массив түзүүдө, бар массив менен бириктирүүдө, жеке элементтер же башка массивдер менен колдонулушу мүмкүн:
fun main() {
val array1 = arrayOf(1, 2)
val array2 = arrayOf(3, 4)
val combinedArray = arrayOf(*array1, 5, *array2) // spread операторун колдонуу
println(combinedArray.contentToString()) // [1, 2, 5, 3, 4] деп чыгат
}
Негизги пункттар:
- гана массивдерге (
Array, примиативдүү массивдер) жанаVararg-га колдонулат. - колекциянын элементтерин функцияга бөлөк аргументтер же жаңы массивдин элементтери катары жайылтат.
*префикси менен белгиленет.