Entendendo Funções
Parte da seção Fundamentos do Journey de GO da Coddy — lição 51 de 109.
Funções são blocos de código reutilizáveis que realizam tarefas específicas. Elas ajudam a organizar o código e a evitar repetição.
Vamos criar uma função simples que soma dois números:
func add(x int, y int) int {
return x + y
}
func main() {
result := add(5, 3)
fmt.Println("5 + 3 =", result)
}Após a execução deste código, o número 8 aparecerá na tela como o resultado da soma de 5 e 3:
5 + 3 = 8Vamos analisar como definir uma função:
Primeiro, declaramos a função com um nome e parâmetros:
func add(x int, y int) int {Isso cria uma função chamada add que recebe dois parâmetros inteiros e retorna um valor inteiro.
Em seguida, vamos escrever o corpo da função que realiza o cálculo:
return x + yEsta linha simples soma os dois parâmetros e envia o resultado de volta para onde quer que a função tenha sido chamada.
Agora, vamos ver como chamar nossa função e usar o resultado:
result := add(5, 3)Esta linha chama nossa função add com os valores 5 e 3, e armazena o valor retornado (8) em uma nova variável chamada result.
Finalmente, vamos exibir o resultado para o usuário:
fmt.Println("5 + 3 =", result)Isso imprime o texto "5 + 3 =" seguido pelo valor armazenado em result, que é 8.
Desafio
InicianteNeste desafio, você praticará a criação e o uso de uma função simples em Go.
Sua tarefa é completar a função greet que recebe um nome como parâmetro e retorna uma mensagem de saudação.
A função deve retornar uma string no formato: "Hello, " + name + "!"
A função deve retornar uma string no formato: "Hello, Gopher!"
Folha de consulta
Funções são blocos de código reutilizáveis que realizam tarefas específicas. Elas ajudam a organizar o código e a evitar a repetição.
Sintaxe da função:
func functionName(parameter type) returnType {
// corpo da função
return value
}Exemplo de função que soma dois números:
func add(x int, y int) int {
return x + y
}Chamando uma função e armazenando o resultado:
result := add(5, 3)
fmt.Println("5 + 3 =", result) // Saída: 5 + 3 = 8Experimente você mesmo
package main
import "fmt"
// TODO: Complete a função greet que recebe um parâmetro name
// e retorna uma string de saudação no formato: "Hello, " + name + "!"
// Exemplo: se name for "Gopher", retorne "Hello, Gopher!"
func greet(name string) string {
// Seu código aqui
}
func main() {
// Teste a função com um nome predefinido
name := "Gopher"
message := greet(name)
fmt.Println(message)
// Saída esperada: Hello, Gopher!
}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