Menu
Coddy logo textTech

Retornando Múltiplos Valores

Parte da seção Fundamentos do Journey de GO da Coddy. Lição 56 de 109.

As funções de Go podem retornar vários valores de uma só vez, o que é extremamente útil para retornar tanto resultados quanto informações de erro.

Crie uma função que retorne tanto um quociente quanto um 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)
}

Quando você executa este programa, ele exibe:

7 ÷ 3 = 2 with remainder 1

A função retorna dois valores separados por vírgulas, e capturamos ambos os valores usando múltiplas variáveis na atribuição.

Se você precisar apenas de alguns dos valores retornados, poderá usar o identificador em branco _ para ignorar aqueles de que não precisa:

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

Usar _ indica ao Go para descartar esse valor retornado. Isso é necessário quando você não usa um valor, pois Go não permite variáveis não utilizadas.

challenge icon

Desafio

Iniciante

Neste desafio, você praticará como retornar vários valores de uma função em Go.

Temos uma função chamada getPersonInfo que deve retornar o nome, a idade e se a pessoa é estudante. Sua tarefa é concluir a função adicionando a instrução de retorno apropriada.

Experimente você mesmo

package main

import "fmt"

// Esta função deve retornar três valores: name, age e isStudent
func getPersonInfo() (string, int, bool) {
	// As variáveis já estão definidas para você
	name := "Alex"
	age := 25
	isStudent := true
	
	// TODO: Retorne todos os três valores (name, age, isStudent)
	
}

func main() {
	// Chame a função e armazene os valores retornados
	name, age, isStudent := getPersonInfo()
	
	// Imprima os valores
	fmt.Printf("Name: %s\n", name)
	fmt.Printf("Age: %d\n", age)
	fmt.Printf("Is Student: %t\n", isStudent)
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de Go online