Vararg a spread operátory v Kotlinu

Hvězdička (*) je spread operátor, který rozbalí pole do seznamu hodnot.
Parametr vararg umožňuje předat do funkce libovolné množství argumentů. Každá funkce může mít maximálně jeden vararg operátor.

fun main() {
    val lines = arrayOf("First line", "Second line")
    
    printOnLines("")
    
    printOnLines(header = "Header")
    
    printOnLines(header = "Header", lines = lines)

    printOnLines(header = "Header", lines = arrayOf("First line", "Second line"))
    
    printOnLines("Header", *lines)

    printOnLines(header = "Header", *lines)
    
    printOnLines("Header", "First line", "Second line")

    printLines(*lines)
}

fun printOnLines(header: String, vararg lines: String) {
    println(header)
    println("----------------------------")
    lines.forEach {
        println(it)
    }
}

fun printLines(vararg lines: String) {
    lines.forEach { 
        println(it)
    }
}

Napsat komentář