Retornando um Único Valor
Parte da seção Fundamentos do Journey de GO da Coddy — lição 55 de 109.
As funções podem retornar valores para o código que as chamou. Isso permite que as funções calculem resultados e os devolvam.
Para criar uma função que retorna um valor, adicione o tipo de retorno após a lista de parâmetros:
func multiply(x int, y int) int {
result := x * y
return result
}
func main() {
product := multiply(4, 5)
fmt.Println("4 × 5 =", product)
}Quando você executa este programa, a saída é:
4 × 5 = 20A palavra-chave return envia o valor de volta para onde a função foi chamada, e o valor retornado pode ser armazenado em uma variável.
Desafio
InicianteNeste desafio, você praticará a criação de uma função que retorna um único valor. Você precisa completar a função getGreeting que retorna uma mensagem de saudação baseada na hora do dia.
A função deve retornar "Good morning" se a hora for antes de 12, "Good afternoon" se a hora estiver entre 12 e 17 (inclusive), e "Good evening" caso contrário.
Folha de consulta
As funções podem retornar valores usando a palavra-chave return. Especifique o tipo de retorno após a lista de parâmetros:
func multiply(x int, y int) int {
result := x * y
return result
}
func main() {
product := multiply(4, 5)
fmt.Println("4 × 5 =", product)
}O valor retornado pode ser armazenado em uma variável ou usado diretamente.
Experimente você mesmo
package main
import "fmt"
// getGreeting retorna uma saudação baseada na hora do dia
func getGreeting(hour int) string {
// TODO: Retornar "Good morning" se a hora for menor que 12
// TODO: Retornar "Good afternoon" se a hora estiver entre 12 e 17 (inclusive)
// TODO: Retornar "Good evening" para todas as outras horas
// Seu código aqui
}
func main() {
// Testar a função com diferentes horas
morningHour := 8
afternoonHour := 15
eveningHour := 20
fmt.Println("At", morningHour, "hours:", getGreeting(morningHour))
fmt.Println("At", afternoonHour, "hours:", getGreeting(afternoonHour))
fmt.Println("At", eveningHour, "hours:", getGreeting(eveningHour))
}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