Funções em Go

Em Go, funções são blocos de código que executam tarefas específicas, que podem ser reutilizadas em todo o programa para economizar memória, melhorar a legibilidade e economizar tempo. As funções Golang podem ou não retornar um valor ao chamador.

Funções em Go

Coisas que você precisa saber sobre funções em Golang

Por exemplo:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

Resultado:

multiplication: 50

Sintaxe de função em Golang

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Declaração de função

Em Go, uma função é declarada com a palavra-chave func, seguida de um nome, parâmetros e tipo de retorno opcional.

Sintaxe

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Exemplo de função multiplicação

func multiply(a, b int) int {
    return a * b
}

func: Palavra-chave para declarar uma função.
function_name: O nome da função, por exemplo multiplicar.
Lista de parâmetros: a, b int — os parâmetros junto com seus tipos.
Return_type: int especifica o tipo de retorno.

Função de chamada

Para usar uma função, basta chamá-la pelo seu nome com quaisquer argumentos necessários. Aqui, multiply(5, 10) chama a função com 5 e 10 como argumentos.

Por exemplo

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

Argumentos de função

Go suporta duas maneiras de passar parâmetros para funções: Chamada por valor e Chamada por referência. Por padrão, Go usa chamada por valor, o que significa que os valores são copiados e as alterações dentro da função não afetam as variáveis ​​do chamador.

Chamada por valor

Na chamada por valor, os valores dos argumentos são copiados para os parâmetros da função, portanto alterações na função não afetam as variáveis ​​originais.

Por exemplo:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Resultado:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

Ligue por referência

Na chamada por referência, ponteiros são usados ​​para que as alterações dentro da função sejam refletidas nas variáveis ​​do chamador.

Por exemplo:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Resultado

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10
Sign up and earn $1000 a day ⋙

Leave a Comment

Os melhores laptops para estudantes em 2025

Os melhores laptops para estudantes em 2025

Os alunos precisam de um tipo específico de laptop para seus estudos. Ele não deve apenas ser potente o suficiente para um bom desempenho na área de estudo escolhida, mas também compacto e leve o suficiente para ser carregado o dia todo.

Como adicionar uma impressora ao Windows 10

Como adicionar uma impressora ao Windows 10

Adicionar uma impressora ao Windows 10 é simples, embora o processo para dispositivos com fio seja diferente do que para dispositivos sem fio.

Como verificar a RAM e verificar erros de RAM no seu computador com a maior taxa de precisão

Como verificar a RAM e verificar erros de RAM no seu computador com a maior taxa de precisão

Como você sabe, a RAM é um componente de hardware muito importante em um computador, atuando como memória para processar dados e é o fator que determina a velocidade de um laptop ou PC. No artigo abaixo, o WebTech360 apresentará algumas maneiras de verificar erros de RAM usando software no Windows.

Diferença entre TV comum e Smart TV

Diferença entre TV comum e Smart TV

As Smart TVs realmente conquistaram o mundo. Com tantos recursos excelentes e conectividade à Internet, a tecnologia mudou a maneira como assistimos TV.

Por que o freezer não tem luz, mas a geladeira tem?

Por que o freezer não tem luz, mas a geladeira tem?

Geladeiras são eletrodomésticos comuns em residências. As geladeiras geralmente têm 2 compartimentos, o compartimento frio é espaçoso e tem uma luz que acende automaticamente toda vez que o usuário o abre, enquanto o compartimento do freezer é estreito e não tem luz.

2 maneiras de corrigir o congestionamento da rede que deixa o Wi-Fi lento

2 maneiras de corrigir o congestionamento da rede que deixa o Wi-Fi lento

As redes Wi-Fi são afetadas por muitos fatores além de roteadores, largura de banda e interferência, mas existem algumas maneiras inteligentes de melhorar sua rede.

Como fazer downgrade do iOS 17 para o iOS 16 sem perder dados usando o Tenorshare Reiboot

Como fazer downgrade do iOS 17 para o iOS 16 sem perder dados usando o Tenorshare Reiboot

Se você quiser voltar para o iOS 16 estável no seu telefone, aqui está o guia básico para desinstalar o iOS 17 e fazer o downgrade do iOS 17 para o 16.

O que acontece com o corpo quando você come iogurte todos os dias?

O que acontece com o corpo quando você come iogurte todos os dias?

Iogurte é um alimento maravilhoso. É bom comer iogurte todos os dias? Quando você come iogurte todos os dias, como seu corpo muda? Vamos descobrir juntos!

Que tipo de arroz é melhor para a saúde?

Que tipo de arroz é melhor para a saúde?

Este artigo discute os tipos de arroz mais nutritivos e como maximizar os benefícios para a saúde de qualquer arroz que você escolher.

Como acordar na hora certa pela manhã

Como acordar na hora certa pela manhã

Estabelecer um horário de sono e uma rotina para dormir, mudar o despertador e ajustar a dieta são algumas das medidas que podem ajudar você a dormir melhor e acordar na hora certa pela manhã.

Dicas para jogar Rent Please! Simulador de Proprietário para Iniciantes

Dicas para jogar Rent Please! Simulador de Proprietário para Iniciantes

Alugue, por favor! Landlord Sim é um jogo de simulação para dispositivos móveis para iOS e Android. Você jogará como proprietário de um complexo de apartamentos e começará a alugar um apartamento com o objetivo de reformar o interior do seu apartamento e deixá-lo pronto para inquilinos.

Últimos códigos de defesa de torre de banheiro e como inseri-los

Últimos códigos de defesa de torre de banheiro e como inseri-los

Obtenha o código do jogo Bathroom Tower Defense Roblox e resgate recompensas emocionantes. Elas ajudarão você a melhorar ou desbloquear torres com maior dano.

Estrutura, símbolos e princípios de funcionamento dos transformadores

Estrutura, símbolos e princípios de funcionamento dos transformadores

Vamos aprender sobre a estrutura, os símbolos e os princípios de operação dos transformadores da maneira mais precisa.

4 maneiras pelas quais a IA está melhorando as Smart TVs

4 maneiras pelas quais a IA está melhorando as Smart TVs

De melhor qualidade de imagem e som a controle de voz e muito mais, esses recursos com tecnologia de IA estão tornando as smart TVs muito melhores!

Por que o ChatGPT é melhor que o DeepSeek

Por que o ChatGPT é melhor que o DeepSeek

Inicialmente, as pessoas tinham grandes esperanças no DeepSeek. Como um chatbot de IA comercializado como um forte concorrente do ChatGPT, ele promete recursos e experiências de bate-papo inteligentes.