Menu
Coddy logo textTech

Métodos vs Funções

Parte da seção Lógica & Fluxo do Journey de GO da Coddy — lição 10 de 68.

Embora tanto métodos quanto funções realizem operações em Go, eles servem a propósitos diferentes e possuem padrões de declaração distintos. Compreender essa diferença é crucial para escrever um código claro e organizado.

Uma função é autônoma e independente. Ela não pertence a nenhum tipo específico:

func calculateArea(width, height float64) float64 {
    return width * height
}

Um método é anexado a um tipo específico por meio de um receptor. Ele pertence a esse tipo e pode acessar seus dados:

func (r Rectangle) area() float64 {
    return r.Width * r.Height
}

A principal diferença reside em como você os chama. Funções são chamadas diretamente pelo nome, enquanto métodos são chamados em instâncias de seu tipo associado usando a notação de ponto. Essa associação torna os métodos perfeitos para definir comportamentos que pertencem naturalmente aos seus tipos personalizados, enquanto as funções funcionam bem para operações de propósito geral que não precisam estar vinculadas a estruturas de dados específicas.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Folha de consulta

Uma função é autônoma e independente:

func calculateArea(width, height float64) float64 {
    return width * height
}

Um método é anexado a um tipo específico por meio de um receptor (receiver):

func (r Rectangle) area() float64 {
    return r.Width * r.Height
}

Funções são chamadas diretamente pelo nome, enquanto métodos são chamados em instâncias usando a notação de ponto.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo