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 métodos e funções realizem operações em Go, eles têm finalidades diferentes e padrões de declaração distintos. Entender essa diferença é fundamental 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 é associado 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 está em como você os chama. Funções são chamadas diretamente pelo nome, enquanto métodos são chamados em instâncias do tipo associado usando a notação de ponto. Essa associação torna os métodos perfeitos para definir comportamentos que naturalmente pertencem aos seus tipos personalizados, enquanto as funções funcionam bem para operações de uso geral que não precisam estar vinculadas a estruturas de dados específicas.

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

Pratique por conta própria: Compilador de Go online