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

10 aplicativos indispensáveis ​​para amantes de livros

10 aplicativos indispensáveis ​​para amantes de livros

Só porque você não tem um livro com você não significa que você precisa parar de ler. Tudo o que você precisa é do seu telefone para experimentar aplicativos de mídia social dedicados aos amantes de livros e encontrar o próximo livro que deseja ler.

Saiba mais sobre o Spotify Connect: o recurso do Spotify que está forçando os usuários a abandonar o YouTube Music

Saiba mais sobre o Spotify Connect: o recurso do Spotify que está forçando os usuários a abandonar o YouTube Music

A capacidade de controlar a reprodução de música de um dispositivo a partir de outro é um recurso subestimado. O YouTube Music não tem esse recurso — e isso obriga as pessoas a recorrerem ao Spotify.

Como fazer uma bola de neve explodir no Minecraft Bedrock & Java Edition

Como fazer uma bola de neve explodir no Minecraft Bedrock & Java Edition

Os comandos do Minecraft permitem que os jogadores criem muitos efeitos interessantes e uma opção interessante é fazer bolas de neve explodirem. Veja como fazer bolas de neve explosivas no Minecraft.

Seu PC tem uma NPU? Veja como verificar

Seu PC tem uma NPU? Veja como verificar

No Windows 11, você pode verificar rapidamente se seu computador tem uma NPU (Unidade de Processamento Neural), através de 3 maneiras muito simples.

O modo de hibernação é ruim para o PC?

O modo de hibernação é ruim para o PC?

O modo de hibernação surgiu da necessidade de manter o computador ligado 24 horas por dia, 7 dias por semana, sem querer esgotar a bateria ou garantir que o sistema não seja afetado por falta de energia, diferentemente do caso do modo de suspensão.

Instruções para adicionar o calendário Euro 2024 no iPhone

Instruções para adicionar o calendário Euro 2024 no iPhone

Adicionar o calendário da Euro 2024 ao iPhone ajuda os usuários a acompanhar facilmente as partidas da Euro 2024, um torneio de futebol com partidas emocionantes.

Alibaba revela QwQ-32b, um concorrente digno do DeepSeek

Alibaba revela QwQ-32b, um concorrente digno do DeepSeek

Ainda não se sabe se as alegações do Alibaba se tornarão realidade, mas parece que o ChatGPT e o DeepSeek agora têm um novo concorrente digno.

Resumo de informações sobre o Samsung One UI 7

Resumo de informações sobre o Samsung One UI 7

Os telefones Samsung Galaxy com One UI 7.0 serão mais seguros com o Modo de Bloqueio, evitando ataques não autorizados.

Como criar efeito de pôster para fotos no Photoshop

Como criar efeito de pôster para fotos no Photoshop

Adicione um efeito de pôster rápido e fácil às suas imagens usando o Photoshop para recriar a aparência clássica de pôsteres impressos com cores de tinta limitadas.

Como alternar entre o antigo e o novo Outlook

Como alternar entre o antigo e o novo Outlook

Nem todo mundo está familiarizado com a nova interface do Outlook e quer voltar ao antigo Outlook para usar todos os recursos e mais personalização do Outlook. Aqui estão as instruções para alternar entre o antigo Outlook e o novo Outlook.

Saiba mais sobre mapas orgânicos: uma alternativa de código aberto ao Google Maps

Saiba mais sobre mapas orgânicos: uma alternativa de código aberto ao Google Maps

Organic Maps é um aplicativo de mapeamento gratuito e de código aberto para Android e iOS, desenvolvido pela mesma equipe por trás do MapsWithMe, lançado em 2011.

6 passos para lavar sapatos na máquina de lavar sem se preocupar com danos

6 passos para lavar sapatos na máquina de lavar sem se preocupar com danos

Parece que lavar sapatos na máquina de lavar é algo totalmente proibido, mas com apenas 6 passos simples abaixo, você pode lavar seus sapatos completamente na máquina de lavar sem se preocupar com danos.

9 motivos pelos quais a geladeira não congela e como consertar

9 motivos pelos quais a geladeira não congela e como consertar

Há 9 motivos pelos quais a geladeira não está congelando. Nosso artigo abaixo resumirá os motivos comuns e como lidar com essa situação.

É hora de mudar para o Passkey: a alternativa de senha antiphishing!

É hora de mudar para o Passkey: a alternativa de senha antiphishing!

Com o passkey, a alternativa moderna às senhas tradicionais, você não precisará mais se preocupar em lembrar, gerenciar (com ou sem um gerenciador de senhas) ou redefinir sua senha.

Como fazer backup do navegador: favoritos, extensões, senhas, etc.

Como fazer backup do navegador: favoritos, extensões, senhas, etc.

Não importa se você está trocando de navegador permanentemente ou apenas quer reduzir a chance de perda de dados, é necessário fazer backup do seu navegador periodicamente.