No tienes acceso a esta clase

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

¿Qué son las funciones?

25/37
Recursos

¿Qué es una función en programación?

En programación, una función es un bloque de código diseñado para realizar una tarea específica. ¿Te has puesto a pensar cómo funcionan las máquinas de helado? Les ingresas ingredientes, realizan un proceso y te devuelven un helado delicioso. Pues bien, una función trabaja de forma similar. Una vez que le pasas unos parámetros, ejecuta su código y te devuelve un resultado. Esta capacidad de las funciones hace que el código sea más modular, legible y reutilizable.

¿Cómo se define una función?

Para definir una función en Kotlin, se utiliza la palabra reservada fun, seguida del nombre de la función y un conjunto de parámetros. Los parámetros son variables que la función recibe para operar con ellas. Después de los parámetros, especificamos qué tipo de dato devolverá la función.

Ejemplo de una función de suma

Imaginemos que queremos definir una función que sume dos números:

fun suma(primerValor: Int, segundoValor: Int): Int {
    return primerValor + segundoValor
}
  • suma: Nombre de la función.
  • primerValor y segundoValor: Parámetros que recibe la función.
  • : Int: Tipo de dato que devolverá, en este caso, un entero.
  • return: Palabra reservada que indica el valor devuelto por la función.

¿Qué tipos de datos puede devolver una función?

Una función puede devolver diversos tipos de datos:

  • Enteros (Int)
  • Cadenas de texto (String)
  • Unit: Utilizado cuando la función no devuelve ningún valor.

Kotlin es lo suficientemente inteligente para detectar cuándo no se debe devolver un valor. Por ejemplo, si tu función solo imprime un nombre completo, no necesitas especificar un tipo de retorno.

Ejemplo de una función sin retorno

Una función que solo imprime un nombre completo puede ser escrita así:

fun imprimirNombreCompleto(nombre: String, apellido: String) {
    println("Nombre completo: $nombre $apellido")
}

Aquí, no hacemos explícito el tipo de retorno como Unit porque Kotlin entiende que no se devuelve nada.

Return y el tipo Unit

La palabra return es esencial cuando una función necesita devolver un resultado. Sin embargo, si no deseas que tu función devuelva un valor, utilizas Unit (aunque no es necesario escribirlo directamente). Esto es muy útil cuando una función realiza acciones como mostrar texto en pantalla.

Recomendaciones para trabajar con funciones en Kotlin

  • Usa nombres claros: Elige nombres de funciones y parámetros que describan claramente su propósito.
  • Hazlas modulares: Cada función debe cumplir una única tarea; esto las hace más fáciles de gestionar y probar.
  • Aprovecha Unit: Cuando no necesitas devolver un valor, deja que Kotlin infiera el tipo Unit automáticamente.

Para seguir profundizando en este emocionante mundo, ¡continúa explorando y practicando! La creación de funciones es fundamental para convertirte en un programador más hábil y eficiente.

Aportes 9

Preguntas 0

Ordenar por:

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

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.

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

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

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)
}

Se parece mucho a typescript

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

In Kotlin, a function is a reusable block of code that performs a specific task. Functions are defined using the fun keyword, followed by the function name, any parameters the function accepts (if any), and the code that the function should execute.
.
Here’s an example of a simple function that takes two integer parameters and returns their sum:

fun sum(a: Int, b: Int): Int {
    return a + b
}

In this example, the fun keyword is used to define a function called sum that accepts two integer parameters named a and b. The function body consists of a single line that returns the sum of the two parameters.
.
You can call this function by passing it two integer arguments:

val result = sum(1, 2)
println(result) // Prints "3"

Kotlin functions can also have default parameter values and named arguments, which can make calling functions more convenient. For example:

fun greet(name: String = "World") {
    println("Hello, $name!")
}


// Call with default parameter value
greet() // Prints "Hello, World!"

// Call with a named argument
greet(name = "John") // Prints "Hello, John!"

In this example, the greet() function has a default parameter value of “World”, so you can call it without passing any arguments. You can also pass a value for the name parameter using a named argument, which makes the code more readable and less error-prone.
.
Kotlin functions can also be defined as extension functions, which allow you to add functionality to existing classes without modifying their source code.
.
I hope this explanation helps! Let me know if you have any further questions.