Menu
Coddy logo textTech

Metodi vs funzioni

Fa parte della sezione Logica e flusso del percorso GO di Coddy. Lezione 10 di 68.

Sebbene sia i metodi sia le funzioni eseguano operazioni in Go, hanno scopi diversi e modalità di dichiarazione distinte. Comprendere questa differenza è fondamentale per scrivere codice chiaro e organizzato.

Una funzione è autonoma e indipendente. Non appartiene a nessun tipo specifico:

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

Un metodo è associato a un tipo specifico tramite un ricevitore. Appartiene a quel tipo e può accedere ai suoi dati:

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

La differenza principale sta nel modo in cui le chiami. Le funzioni vengono chiamate direttamente per nome, mentre i metodi vengono chiamati sulle istanze del tipo associato usando la notazione con il punto. Questa associazione rende i metodi perfetti per definire comportamenti che appartengono naturalmente ai tuoi tipi personalizzati, mentre le funzioni sono adatte alle operazioni di uso generale che non devono essere legate a strutture dati specifiche.

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Go online