Las funciones en Kotlin

Las funciones en Kotlin

Las funciones en Kotlin se declaran con la palabra "fun" de "function", no de diversión en inglés.

De hecho, llevamos utilizando una función en todos los capítulos anteriores de este curso de Kotlin. La función de entrada llamada main().

Funciones sin parámetros

Vamos a crear una función simple, sin parámetros:

fun main() {
    fun saludo() {
        print("Un saludo desde la función.")
    }
}

Para llamar a la función lo haremos así:

fun main() {
    fun saludo() {
        print("Un saludo desde la función.")
    }
    
    saludo()
}

Resultado en la consola

Un saludo desde la función.

Funciones con parámetros

Para especificar una función con parámetros, iremos declarándolos separados por comas, y con una salida del tipo de dato devuelto por esta.

A continuación tienes un ejemplo:

fun main() {
    fun suma(numero1 : Double, numero2 : Double) : Double {
        return numero1 + numero2
    }

    print(suma(10.6, 20.6))
}

Resultado en la consola

30.6

Si especificas datos de tipo Int, te limitas a solo utilizar valores enteros. Si lo haces con Double o Float, te limitas a utilizar solo valores decimales.

Entonces, lo mejor cuando quieres utilizar cualquier valor numérico, con o sin decimales, puedes utilizar el tipo Number y realizar conversiones para evitar errores por tipos de datos incorrectos:

fun main() {
    fun suma(numero1 : Number, numero2 : Number) : Double {
        return numero1.toDouble() + numero2.toDouble()
    }

    print(suma(10.6, 20))
}

Resultado en la consola

30.6

Si necesitas guardar el resultado, haz la llamada en una variable o constante:

fun main() {
    fun suma(numero1: Number, numero2: Number): Double {
        return numero1.toDouble() + numero2.toDouble()
    }

    val resultado = suma(10.6, 20)
    println("La suma es: $resultado")
}

Resultado en la consola

La suma es: 30.6

Argumentos por defecto en las funciones de Kotlin

Es posible asignar argumentos por defecto en la declaración de las funciones de Kotlin. Gracias a estos, tendrás valores asignados por defecto, para los parámetros a los que no les des argumentos explícitos.

A continuación tienes un ejemplo:

fun main() {
    fun suma(numero1 : Int = 10,
             numero2 : Number) : Double {
        return numero1 + numero2.toDouble()
    }

    print(suma(60, 20))
}

Resultado en la consola

80.0

Si le pasamos el valor del argumento por defecto, este es sobrescrito sin problemas.

Si no queremos indicar uno diferente, y utilizar el valor por defecto, es posible indicar explícitamente los argumentos que queramos:

fun main() {
    fun suma(numero1 : Int = 10,
             numero2 : Number) : Double {
        return numero1 + numero2.toDouble()
    }

    print(suma(numero2 = 20))
}

Resultado en la consola

30.0

Si quieres que suba mucho más contenido sobre Kotlin, agradezco de antemano todo el apoyo que le puedas dar a estos capítulos, ya sea con un comentario, compartiendo, etc.

Por otro lado, ¿hay temas específicos que quieras conocer acerca de Kotlin? Dímelo y lo apuntaré para tenerlo en cuenta para futuros artículos en el blog.

No te pierdas nada del curso de Kotlin.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

kotlin logo Entrada anterior Bucle for, while y do-while de Kotlin
kotlin logo Entrada siguiente Los arrays en Kotlin