No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué son las funciones?

25/37
Recursos

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Una función es un código que se ejecuta cada vez que lo llamamos.

Sintaxis de una función

Las funciones más básicas se componen de 4 partes.

  • Palabra reservada fun.

  • Nombre de la función.

  • Parámetros: Son las variables que le damos a la función para que las use en el código que ejecuta internamente.

  • Tipo de retorno: Puede tener o no un valor de retorno.

  • Código: Son las instrucciones que se van a ejecutar al llamar a la función.

Ejemplo de función:

Cuando queremos devolver algo de nuestra función usamos la keyword return.
Caso contrario cuando no queremos devolver nada de nuestra función, Kotlin regresaría Unit.

Ejemplo de función que no devuelve nada, no tiene ningún tipo de retorno.

Declarando funciones
Las funciones se declaran usando la palabra clave fun, seguida del nombre del método, los paréntesis donde declararemos los valores de entrada y unas llaves que limitan la función.

fun main(args: Array<String>) {
    showMyName()
    showMyLastName()
    showMyAge()
}
fun showMyName(){
    println("Me llamo Aris")
}
fun showMyLastName(){
    println("Mi Apellido es Guimerá")
}
fun showMyAge(){
    println("Tengo 24 años")
}

Si os fijáis en el código anterior, tenemos 4 métodos. 3 de ellos están destinados para una sola función (mostrar nombre, edad y apellidos) pero no se ejecutarán a no ser que sean llamados. Por ello el cuarto método que es el que se ejecutar el código, los llamará en el orden que le pongamos. Dándonos un resultado así.

Funciones con parámetros de entrada
Ahora vamos a ver las funciones con parámetros de entrada, que son iguales, pero al llamarlas habrá que mandarle las variables que necesite.

fun main(args: Array<String>) {
    showMyInformation("Aris", "Guimerá", 24)
}
fun showMyInformation(name: String, lastName: String, age: Int){
    println("Me llamo $name $lastName y tengo $age años.")
}

Como se puede observar, tiene tres parámetros de entrada, la forma de declararlos es muy fácil el nombre de la variable, seguida de dos puntos y el tipo de variable, aquí si es obligatorio definir el tipo.

Obviamente al llamar al método podemos pasarle variables recuperadas de otros métodos y demás.

Funciones con parámetros de salida
Nos queda por ver como una función puede devolver un resultado o lo que haga nuestro método. La única limitación es que solo se puede devolver un parámetro, aunque para eso tenemos los métodos (ya lo veremos más tarde).

fun main(args: Array<String>) {
    var result = add(5, 10)
    println(result)
}
fun add(firsNumber: Int, secondNumber: Int) : Int{
    return firsNumber + secondNumber
}

Como el ejemplo anterior añadimos los parámetros de entrada pero esta vez, al cerrar los paréntesis pondremos el tipo de variable que debe devolver nuestra función. Luego la función hará todo lo que tenga que hacer y cuando tenga el resultado, lo devolveremos con la palabra clave return.

Si el método es muy fácil, podemos evitar las llaves y simplificar la función un poco más.

fun add(firsNumber: Int, secondNumber: Int) : Int = firsNumber + secondNumber

Es algo parecido a los métodos pero con una sintaxis mejorada para mi parecer

Profe, porque no sonrio al final de la clase? :"(

Unit es como tener un función void de Java 😃

Para quienes sepan JAVA, las funciones son iguales a los metodos, la sintaxis cambia un poco pero lleva los mismos elementos, acá dejo los ejemplo que dio Giuseppe en la clase:

//funcion con retorno
fun suma (primerValor: Int, segundoValor: Int) : Int {
return primerValor + segundoValor
}

//funcion sin retorno
fun imprimirNombre (nombre :String, apellido: String){
println ("Mi nombre es $nombre y mi apellido es $apellido)
}