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.
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
1Fluxo de Controle Avançado
Switch com `fallthrough`Interrompendo Loops AninhadosContinuando um Loop EspecíficoA Instrução `goto`Recapitulação - Controle de Loop Avançado4Projeto: Lista de Tarefas Simples
Configuração do ProjetoAdicionando uma Tarefa2Structs e Métodos
Definindo Métodos em StructsRecebedores de ValorRecebedores de PonteiroEscolhendo RecebedoresMétodos vs FunçõesRecapitulação - Comportamento de Structs5Mapas em Profundidade
Mapas de StructsPonteiros como Valores de MapVerificando Mapas NilComparando MapasRecapitulação - Contador de Frequência de Palavras3Interfaces (O Básico)
O que é uma Interface?Definindo uma InterfaceImplementando uma InterfaceUsando Tipos de InterfaceInterface VaziaAsserções de TipoType SwitchRecapitulação - Formas e ComportamentosPratique por conta própria: Compilador de Go online