Retorno de funciones

Tercer y último vídeo sobre funciones en mi curso de fundamentos de Go. El objetivo de este vídeo será hablar de la palabra clave return y mostrar cómo devolver cosas en general en las funciones que escribamos en Go.

Las funciones en Go no solo nos permiten recibir argumentos para parametrizar su comportamiento, sino que también pueden devolver valores, conocidos como retornos. Estos retornos son fundamentales para capturar los resultados del procesamiento que ocurre dentro de la función y utilizarlos en otras partes del programa. Así, en lugar de asignar un valor directamente, podemos asignar el resultado que una función nos devuelve tras ejecutar su algoritmo.

Para que una función pueda devolver un valor, primero debemos indicarlo en su declaración. Esto significa que, después de definir el nombre de la función y sus argumentos, especificamos el tipo de dato que la función devolverá justo entre el paréntesis de cierre de los argumentos y la llave de apertura del cuerpo de la función. En Go, dado que todo tiene un tipo, es necesario que el tipo de retorno esté claramente definido para que el compilador pueda verificar que el valor devuelto coincide con lo esperado.

Veamos un ejemplo práctico para entenderlo mejor. Supongamos que queremos crear una función llamada doble que reciba un número entero y nos devuelva su doble. La función aceptará un parámetro n de tipo int y devolverá un valor también de tipo int. La declaración de la función quedaría así:

func doble(n int) int {
    db := n + n
    return db
}

En este código, primero calculamos el doble sumando n + n y almacenamos el resultado en la variable db. Luego, usamos la palabra clave return seguida de db para devolver ese valor al lugar donde se llamó la función. La palabra return es esencial para indicar qué valor queremos que salga de la función.

También podríamos devolver directamente una expresión sin necesidad de almacenarla en una variable intermedia, por ejemplo:

func doble(n int) int {
    return n + n
}

Ambas formas son válidas, siempre que el valor que devolvemos coincida con el tipo declarado en la función.

Una vez que tenemos esta función, podemos capturar su valor de retorno asignándolo a una variable. Por ejemplo, si queremos calcular el doble de 2 y almacenarlo en una variable llamada resultado, haríamos lo siguiente:

resultado := doble(2)
fmt.Println("El doble de 2 es", resultado)

Al ejecutar este código, veremos en la salida: El doble de 2 es 4, porque la función doble ha calculado correctamente el valor y lo ha devuelto mediante return, que luego hemos capturado en resultado.

Este mecanismo de entrada y salida en las funciones es fundamental para escribir código organizado y eficiente. Nos permite encapsular lógica en funciones que reciben datos, procesan información y devuelven resultados que podemos reutilizar en diferentes partes de nuestro programa. Así, podemos construir programas más modulares y fáciles de mantener.

Con esta base sobre cómo declarar funciones con valores de retorno, usar la palabra clave return y capturar los valores devueltos, estamos mejor preparados para aprovechar al máximo las capacidades que Go nos ofrece para estructurar nuestro código.

Lista de reproducción
  1. 1
    Instalar Go
    5 minutos
  2. 2
    Configurar Go en Windows a mano
    4 minutos
  3. 3
    Configurar Go en Linux y MacOS a mano
    5 minutos
  4. 4
    Escribir el Hola Mundo
    11 minutos
  5. 5
    Variables con var
    10 minutos
  6. 6
    Los tipos de datos en Go
    9 minutos
  7. 7
    Variables tipadas e inferencia de tipos
    8 minutos
  8. 8
    Operador := y múltiples variables
    7 minutos
  9. 9
    Constantes
    4 minutos
  10. 10
    Funciones básicas
    6 minutos
  11. 11
    Paso de parámetros a funciones
    7 minutos
  12. 12
    Retorno de funciones
    5 minutos
  13. 13
    Operadores aritméticos
    6 minutos