Sobes.tech
Junior

რა არის 'spread' ოპერატორი Kotlin-ში და როგორ გამოიყენება?

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 օպերատորի օգտագործում
}

* օպերատորն առանց, փորձել փոխանցել intArrayprintNumbers ֆունկցիային, կհանգեցնի կոդի թարգմանության սխալի, քանի որ printNumbers սպասում է փոփոխական թվով Int, ոչ թե 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-ի համար։
  • տարածում է հավաքածուի տարրերը առանձին արգումենտների կամ նոր զանգվածի տարրերի։
  • նշվում է * նախածանցով։