Menu
Coddy logo textTech

Valores de retorno con nombre

Parte de la sección Fundamentos del Journey de GO de Coddy — lección 57 de 109.

En Go, puedes nombrar tus valores de retorno en las declaraciones de funciones. Esto hace que tu código sea más legible y te permite retornar simplemente usando una sentencia return simple.

Crea una función con valores de retorno con nombre:

func divide(a, b int) (quotient int, remainder int) {
    quotient = a / b
    remainder = a % b
    return  // retorno "naked"
}

func main() {
    q, r := divide(7, 3)
    fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}

La salida es la misma que antes:

7 ÷ 3 = 2 with remainder 1

Los valores de retorno con nombre se inicializan con sus valores cero y pueden ser asignados directamente en el cuerpo de la función.

challenge icon

Desafío

Principiante

En este desafío, practicarás el uso de valores de retorno con nombre en las funciones de Go.

Completa la función getPersonInfo que devuelve el nombre, la edad y si una persona es estudiante. La función ya tiene parámetros de retorno con nombre, pero necesitas asignarles valores.

La función debe devolver los valores predefinidos para una persona llamada 'Alex' que tiene 25 años y es estudiante.

Hoja de referencia

En Go, puedes nombrar tus valores de retorno en las declaraciones de funciones para una mejor legibilidad y usar una sentencia return simple:

func divide(a, b int) (quotient int, remainder int) {
    quotient = a / b
    remainder = a % b
    return  // retorno "desnudo"
}

Los valores de retorno con nombre se inicializan con sus valores cero y pueden ser asignados directamente en el cuerpo de la función.

Pruébalo tú mismo

package main

import "fmt"

// Esta función utiliza valores de retorno con nombre
func getPersonInfo() (name string, age int, isStudent bool) {
	// TODO: Asignar valores a las variables de retorno con nombre
	// name debe ser "Alex"
	// age debe ser 25
	// isStudent debe ser true
	
	// La sentencia "return" sin argumentos devolverá los valores de retorno con nombre
	return
}

func main() {
	name, age, isStudent := getPersonInfo()
	fmt.Printf("Name: %s\nAge: %d\nStudent: %t\n", name, age, isStudent)
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos