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.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Flusso di controllo avanzato
Switch con `fallthrough`Uscire dai cicli annidatiContinuare un ciclo specificoL'istruzione `goto`Riepilogo - Controllo avanzato dei cicli4Progetto: semplice lista di attività
Configurazione del progettoAggiungere un’attività2Struct e metodi
Definire metodi sugli structReceiver per valoreReceiver con puntatoreScegliere i receiverMetodi vs funzioniRiepilogo - comportamento degli struct5Mappe in dettaglio
Mappe di structPuntatori come valori delle mappeVerificare le mappe nilConfrontare le mappeRiepilogo - Contatore della frequenza delle parole3Interfacce (le basi)
Che cos’è un’interfaccia?Definire un’interfacciaImplementare un’interfacciaUsare i tipi interfacciaInterfaccia vuotaAsserzioni di tipoSwitch di tipoRiepilogo: forme e comportamentiEsercitati da solo: Compilatore Go online