Menu
CoddyTech

Retorno de múltiples valores

Parte de la sección Fundamentos del Journey de GO de Coddy. Lección 56 de 109.

Las funciones de Go pueden devolver varios valores a la vez, lo cual es extremadamente útil para devolver tanto resultados como información sobre errores.

Crea una función que devuelva tanto un cociente como un resto:

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

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

Cuando ejecutas este programa, muestra:

7 ÷ 3 = 2 with remainder 1

La función devuelve dos valores separados por comas, y capturamos ambos valores usando varias variables en la asignación.

Si solo necesitas algunos de los valores devueltos, puedes usar el identificador en blanco _ para ignorar los que no necesitas:

q, _ := divide(7, 3)  // ignora el resto
fmt.Println("Quotient:", q)

Usar _ le indica a Go que descarte ese valor de retorno. Esto es necesario cuando no usas un valor, ya que Go no permite variables sin usar.

challenge icon

Desafío

Principiante

En este desafío, practicarás cómo devolver varios valores desde una función en Go.

Tenemos una función llamada getPersonInfo que debe devolver el nombre y la edad de una persona, y si es estudiante. Tu tarea es completar la función añadiendo la instrucción de retorno adecuada.

Pruébalo tú mismo

package main

import "fmt"

// Esta función debe devolver tres valores: name, age e isStudent
func getPersonInfo() (string, int, bool) {
	// Las variables ya están definidas
	name := "Alex"
	age := 25
	isStudent := true
	
	// TODO: Devuelve los tres valores (name, age, isStudent)
	
}

func main() {
	// Llama a la función y guarda los valores devueltos
	name, age, isStudent := getPersonInfo()
	
	// Imprime los valores
	fmt.Printf("Name: %s\n", name)
	fmt.Printf("Age: %d\n", age)
	fmt.Printf("Is Student: %t\n", 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

Practica por tu cuenta: Compilador de Go online