MEJOR SITIO PARA DESARROLLADORES WEB
Kotlin. W3Schools en español. Lecciones para principiantes

Ua En De

Kotlin Funciones


Una función es un bloque de código que solo se ejecuta cuando se llama.

Puedes pasar datos, conocidos como parámetros, a una función.

Las funciones se utilizan para realizar determinadas acciones y también se conocen como métodos.


Funciones predefinidas

Resulta que ya sabes qué es una función. ¡Lo has estado usando todo el tiempo durante este tutorial!

Por ejemplo, println() es una función. Se utiliza para enviar/imprimir texto en la pantalla:

Ejemplo

fun main() {
  println("Hello World")
}
Inténtalo tú mismo »

Crea tus propias funciones

Para crear su propia función, utilice la palabra clave fun y escriba el nombre de la función, seguido de paréntesis ():

Ejemplo

Cree una función llamada "myFunction" que debería generar texto:

fun myFunction() {
  println("Me acaban de ejecutar!")
} 

Llamar a una función

Ahora que ha creado una función, puede ejecutarla llamándola.

Para llamar a una función en Kotlin, escribe el nombre de la función seguido de dos paréntesis ().

En el siguiente ejemplo, myFunction() imprimirá algo de texto (la acción), cuando se llame:

Ejemplo

fun main() {
  myFunction() // Llamar myFunction
}

// Salidas "¡Me acaban de ejecutar!" 
Inténtalo tú mismo »

Una función se puede llamar varias veces si lo desea:

Ejemplo

fun main() {
  myFunction()
  myFunction()
  myFunction()
}

// ¡Me acaban de ejecutar!
// ¡Me acaban de ejecutar!
// ¡Me acaban de ejecutar! 
Inténtalo tú mismo »

Parámetros de función

La información se puede pasar a funciones como parámetro.

Los parámetros se especifican después del nombre de la función, dentro del paréntesis. Puedes agregar tantos parámetros como quieras, simplemente sepáralos con una coma. Solo tenga en cuenta que debe especificar el tipo de cada parámetro (Int, String, etc.).

El siguiente ejemplo tiene una función que toma una String llamada fname como parámetro. Cuando se llama a la función, pasamos un nombre, que se usa dentro de la función para imprimir el nombre completo:

Ejemplo

fun myFunction(fname: String) {
  println(fname + " Doe")
}

fun main() {
  myFunction("John")
  myFunction("Jane")
  myFunction("George")
}

// John Doe
// Jane Doe
// George Doe 
Inténtalo tú mismo »

Cuando se pasa un parámetro a la función, se llama argumento. Entonces, del ejemplo anterior: fname es un parameter, mientras que John, Jane y George son argumentos.


Múltiples parámetros

Puedes tener tantos parámetros como quieras:

Ejemplo

fun myFunction(fname: String, age: Int) {
  println(fname + " is " + age)
}

fun main() {
  myFunction("John", 35)
  myFunction("Jane", 32)
  myFunction("George", 15)
}

// John es 35
// Jane es 32
// George es 15 
Inténtalo tú mismo »

Nota: Cuando se trabaja con múltiples parámetros, la llamada a la función debe tener la misma cantidad de argumentos que parámetros, y los argumentos deben pasarse en el mismo orden.


Valores de retorno

En los ejemplos anteriores, utilizamos funciones para generar un valor. En el siguiente ejemplo, usaremos una función para devolver un valor y asignarlo a una variable.

Para devolver un valor, utilice la palabra clave return y especifique el tipo de retorno después del paréntesis de la función (Int en este ejemplo):

Ejemplo

Una función con un parámetro Int y un tipo de retorno Int:

fun myFunction(x: Int): Int {
  return (x + 5)
}

fun main() {
  var result = myFunction(3)
  println(result)
}

// 8 (3 + 5) 
Inténtalo tú mismo »

Usando dos parámetros:

Ejemplo

Una función con dos parámetros Int y un tipo de retorno Int:

fun myFunction(x: Int, y: Int): Int {
  return (x + y)
}

fun main() {
  var result = myFunction(3, 5)
  println(result)
}

// 8 (3 + 5) 
Inténtalo tú mismo »

Sintaxis más corta para valores devueltos

También hay una sintaxis más corta para devolver valores. Puede utilizar el operador = en lugar de return sin especificar el tipo de devolución. Kotlin es lo suficientemente inteligente como para descubrir automáticamente qué es:

Ejemplo

fun myFunction(x: Int, y: Int) = x + y

fun main() {
  var result = myFunction(3, 5)
  println(result)
}

// 8 (3 + 5) 
Inténtalo tú mismo »