Valores de Retorno Nomeados
Parte da seção Fundamentos do Journey de GO da Coddy — lição 57 de 109.
Em Go, você pode nomear seus valores de retorno em declarações de função. Isso torna seu código mais legível e permite que você retorne apenas usando uma simples instrução return.
Crie uma função com valores de retorno nomeados:
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)
}A saída é a mesma de antes:
7 ÷ 3 = 2 with remainder 1Valores de retorno nomeados são inicializados com seus valores zero e podem ser atribuídos diretamente no corpo da função.
Desafio
InicianteNeste desafio, você praticará o uso de valores de retorno nomeados em funções Go.
Complete a função getPersonInfo que retorna o nome, a idade e se uma pessoa é estudante. A função já possui parâmetros de retorno nomeados, mas você precisa atribuir valores a eles.
A função deve retornar os valores predefinidos para uma pessoa chamada 'Alex' que tem 25 anos e é estudante.
Folha de consulta
Em Go, você pode nomear seus valores de retorno em declarações de função para melhor legibilidade e usar uma instrução return simples:
func divide(a, b int) (quotient int, remainder int) {
quotient = a / b
remainder = a % b
return // retorno "naked"
}Valores de retorno nomeados são inicializados com seus valores zero e podem ser atribuídos diretamente no corpo da função.
Experimente você mesmo
package main
import "fmt"
// Esta função usa valores de retorno nomeados
func getPersonInfo() (name string, age int, isStudent bool) {
// TODO: Atribuir valores às variáveis de retorno nomeadas
// name deve ser "Alex"
// age deve ser 25
// isStudent deve ser true
// A instrução "return" sem argumentos retornará os valores de retorno nomeados
return
}
func main() {
name, age, isStudent := getPersonInfo()
fmt.Printf("Name: %s\nAge: %d\nStudent: %t\n", name, age, isStudent)
}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
4Operadores de Comparação e Lógicos
Operadores de Comparação - Parte 1Operadores de Comparação - Parte 2Operador Lógico ANDOperador Lógico OROperador Lógico NOTFundamentos de Precedência de OperadoresRecapitulação - Fazendo Comparações7Fluxo de Controle: Loops
O Loop `for` ExplicadoLoop For - BásicoLoop For - Apenas CondiçãoA Palavra-chave `break`A Palavra-chave `continue`Loops AninhadosRecapitulação - Repetindo Ações2Variáveis e Tipos de Dados Básicos
O que é uma variávelInferência de Tipo com `:=`Inteiros (int)Números de Ponto FlutuanteBooleanosStringsValores ZeroConstantesConvenções de NomenclaturaRecapitulação - Variáveis e Tipos5Entrada/Saída Básica
Saída FormatadaVerbos de FormataçãoImprimindo TiposObtendo Entrada Básica do UsuárioRecapitulação - Entrada e Saída8Funções
Entendendo FunçõesDeclarando uma FunçãoChamando FunçõesParâmetros de FunçãoRetornando um Único ValorRetornando Múltiplos ValoresValores de Retorno NomeadosFundamentos de Escopo de FunçãoRecapitulação - Criando Código Reutilizável3Operadores Básicos
Operadores AritméticosOperador de DivisãoO Operador MóduloOperador de AtribuiçãoOperadores de Atribuição CompostaIncremento e DecrementoRecapitulação - Cálculos6Fluxo de Controle: Condicionais
A Instrução `if`A Palavra-chave `else`A Palavra-chave `else if`Sombreamento de Variáveis no `if`Inicializando VariáveisA Instrução `switch`Switch com ExpressõesSwitch sem ExpressãoA Palavra-chave `fallthrough`Recapitulação - Tomando Decisões