Varargs
Kotlin allows functions to be defined such that they would accept a variable number of arguments. Hence this feature is called varargs. Varargs allow users to pass in a comma-separated list of arguments, which the compiler will automatically wrap into an array. Java developers will already be familiar with the feature, which in Java looks like the following:
    public void println(String.. args) { } 
The Kotlin equivalent is to use the vararg keyword before the parameter name:
    fun multiprint(vararg strings: String): Unit { 
      for (string in strings) 
      println(string) 
    } 
This would be invoked in the following way:
    multiprint("a", "b", "c") 
Functions can have regular parameters, and at most one parameter marked as vararg:
    fun multiprint(prefix: String, vararg strings: String): Unit { 
      println(prefix) 
      for (string in strings) 
        println(string) 
    } 
The vararg parameter is usually the...