Funções na Prática com Go

Olá, pessoal! Vamos concluir o nosso primeiro módulo gratuito do treinamento no canal Ralf Lima. Hoje, vamos aprender sobre um dos pilares mais importantes de toda a programação: as Funções.

Uma função é um bloco de código isolado que realiza uma tarefa específica. Pense nela como uma pequena máquina ou ferramenta dentro do seu programa: você a constrói uma única vez e pode "chamá-la" ou reutilizá-la quantas vezes quiser. Isso evita repetição de código e deixa o nosso projeto muito mais organizado e fácil de corrigir.

Os Tipos de Funções no Go

No Go, as funções são declaradas com a palavra-chave func e podem ser moldadas de diferentes formas para atender às necessidades do seu sistema. Veja os três modelos principais na tabela abaixo:

Tipo de Função Como funciona? Exemplo do Código
Simples (Sem parâmetros) Apenas executa um bloco de comandos fixo. Não precisa de nenhuma informação externa para trabalhar. helloWorld()
Com Parâmetros (Entrada) Recebe dados externos (variáveis) entre os parênteses para usá-los durante a sua execução. mensagem(nome string)
Com Retorno (Saída) Processa as informações recebidas e devolve (return) um resultado final para quem a chamou. É obrigatório indicar o tipo do retorno após os parênteses. somar(...) int

A Função Principal: O ponto de partida

Você deve ter reparado que desde a nossa primeira aula nós usamos a função main(). Ela é a função principal e obrigatória em qualquer programa Go executável. O Go sempre procura por ela para saber por onde o seu sistema deve começar a rodar. É de dentro da main() que nós chamamos todas as outras funções que criamos.

Exemplo Prático Completo

Veja abaixo como fica o código estruturado contendo a declaração das nossas três ferramentas e a execução delas dentro da função principal:

package main

import "fmt"

// 1ª Função: Simples, apenas exibe um texto fixo
func helloWorld() {
    fmt.Println("Hello World!")
}

// 2ª Função: Recebe uma informação (parâmetro) para interagir
func mensagem(nome string) {
    fmt.Println("Olá", nome)
}

// 3ª Função: Recebe dois números, calcula e devolve (retorna) um inteiro
func somar(numero1 int, numero2 int) int {
    return numero1 + numero2
}

// Função principal: Onde tudo é executado
func main() {
    // Chamando a função simples
    helloWorld()
    
    // Chamando a função com parâmetro de texto
    mensagem("Ralf")
    
    // Chamando a função com retorno e exibindo o resultado na tela
    fmt.Println(somar(5, 3))
}

Finalizamos os conteúdos do Módulo 1 do nosso treinamento de Go Fundamentos. Parabéns por chegar até aqui e dominar toda a base essencial da linguagem! Em caso de dúvidas, comentem nos vídeos disponíveis no YouTube.