2019年5月20日 星期一

Kotlin學習筆記(6) Functions with vararg Parameters

Kotlin學習筆記(6) Functions with vararg Parameters


fun main() {
    printAll("Hello", "Hallo", "Salut", "Hola", "你好")                // 2  
     printAllWithPrefix("Hello", "Hallo", "Salut", "Hola", "你好", prefix = "Greeting: "  // 4

)
        
        
}

fun printAll(vararg messages: String) {                            // 1
    for (m in messages) println(m)
}


fun printAllWithPrefix(vararg messages: String, prefix: String) {  // 3
    for (m in messages) println(prefix + m)
}

fun log(vararg entries: String) {
    printAll(*entries)                                             // 5
}



輸出畫面
Hello
Hallo Salut Hola 你好 Greeting: Hello Greeting: Hallo Greeting: Salut Greeting: Hola Greeting: 你好


  1. The vararg modifier turns a parameter into a vararg.
  2. This allows calling printAll with any number of string arguments.
  3. Thanks to named parameters, you can even add another parameter of the same type after the vararg. This wouldn't be allowed in Java because there's no way to pass a value.
  4. Using named parameters, you can set a value to prefix separately from the vararg.
  5. At runtime, a vararg is just an array. To pass it along into a vararg parameter, use the special spread operator * that lets you pass in *entries (a vararg of String) instead of entries (an Array<String>).

沒有留言:

張貼留言

WOKWI LED + MQTT Node-Red SQLite

WOKWI LED + MQTT Node-Red SQLite const char *mqtt_broker = "broker.mqtt-dashboard.com" ; const char *topic1 = "alex9ufo/e...