fun sum(a: Int, b: Int): Int {
return a + b
}
Также функцию из примера выше можно переписать, так как эта
функция только возвращается значение суммы полученных аргументов:
fun sum(a: Int, b: Int) = a + b
Если функция не возвращает значение можно указать
возвращаемый тип как Unit:
fun printSum(a: Int, b: Int): Unit {
println("sum of $a and $b is ${a + b}")
}
или вовсе не указывать Unit:
fun printSum(a: Int, b: Int) {
println("sum of $a and $b is ${a + b}")
}
Приведенные выше функции необходимо вызвать, чтобы их код
выполнился. Функция sum возвращает значение и поэтому его значение необходимо либо
присвоить переменной, либо использовать другим путём в данном случае результат,
возвращаемый функцией sum,
выводится в консоль посредством вызова функции println:
println(sum(10,20)) // Результат: 30
printSum(20, 30) // Результат: sum of 20 and 30 is 50
fun addNote(text: String, isProtected : Boolean = false)
{
println("Add note with text $text and protected state is $isProtected")
}
addNote("Hello")
addNote("Good Bye", true)
fun addNote(isProtected : Boolean = false, text: String)
{
println("Add note with text $text and protected state is $isProtected")
}
addNote(text = "Hello")
addNote(text = "Good Bye", isProtected = true)
Именованные параметры при вызове функций можно использовать в каких-угодно вызовах функций, необязательно чтобы это были функции с параметрами по умолчанию.
Функция может принимать переменное количество аргументов, в таком случае перед названием аргумента необходимо добавить ключевое слово vararg. Такой аргумент воспринимается как массив и обычно идёт как последний аргумент функции:
fun task (vararg args : Any)
{
println("Accepted ${args.size} count of arguments")
}
Например, при вызове функции подобным образом, первый элемент массива равен значению первого аргумента - "Hello", второй значению второго - "Good bye" и размер (size) массива равен 2:
task("Hello", "Good bye")
Если переменное количество аргументов используется не в
конце списка аргументов, тогда можно использовать именованные аргументы для
передачи значений:
fun task (vararg args : Any, arg1 : String)
{
println("Accepted ${args.size} count of arguments")
}
Пример передачи переменного количества аргументов в начале
списка параметров функции и затем одной переменной посредством названия параметра:
task("Hello", "Good bye", arg1 = "2")
Реклама