Metodi in Golang

I metodi in Golang  sono come le funzioni, ma con una differenza sostanziale: hanno un argomento receiver , che consente l'accesso alle proprietà del receiver . Il ricevitore può essere di tipo struct o non-struct, ma entrambi devono trovarsi nello stesso pacchetto. Non è possibile creare metodi per i tipi definiti in altri pacchetti, inclusi i tipi incorporati come int o string ; In caso contrario, il compilatore segnalerà un errore.

Metodi in Golang

Per esempio:

package main

import "fmt"

// Định nghĩa một struct
type person struct {
    name string
    age  int
}

// Định nghĩa một phương thức với struct receiver
func (p person) display() {
    fmt.Println("Name:", p.name)
    fmt.Println("Age:", p.age)
}

func main() {
    // Tạo một phiên bản của struct
    a := person{name: "a", age: 25}
    
    // Gọi phương thức
    a.display()
}

Risultato:

Name: a
Age: 25

Sintassi

func(receiver_name Type)  method_name(parameter_list) (return_type) { 
// Code
}

Ricevitore: è possibile accedervi utilizzando questo metodo.

Metodo con ricevitore di tipo struct

In Go è possibile definire un metodo in cui il ricevitore è di tipo struct. Il ricevitore è accessibile all'interno del metodo. L'esempio precedente illustra questo approccio con un Receiver di tipo struct.

Il metodo con Receiver non è di tipo struct

Go consente anche ai metodi di avere ricevitori non-struct, a condizione che il tipo di ricevitore e la definizione del metodo siano nello stesso pacchetto. Non è possibile definire un metodo con un tipo di ricevitore di un altro pacchetto (ad esempio int, string).

Per esempio:

package main

import "fmt"

// Tạo một kiểu tùy biến dựa trên int
type number int

// Định nghĩa một phương thức với receiver không phải struct
func (n number) square() number {
    return n * n
}

func main() {
    a := number(4)
    b := a.square()

    fmt.Println("Square of", a, "is", b)
}

Risultato:

Square of 4 is 16

Metodo con puntatore del ricevitore

In Go, i metodi possono avere ricevitori di puntatori. Ciò consente che le modifiche apportate al metodo vengano riflesse nel chiamante, cosa che non è possibile con i ricevitori di valori.

Sintassi:

func (p *Type) method_name(...Type) Type {    // Code}

Per esempio:

package main

import "fmt"

// Defining a struct
type person struct {
    name string
}

// Phương thức với receiver pointer để chỉnh sửa dữ liệu
func (p *person) changeName(newName string) {
    p.name = newName
}

func main() {
    a := person{name: "a"}
    
    fmt.Println("Before:", a.name)
    
    // Gọi phương thức này để thay đổi tên
    a.changeName("b")
    
    fmt.Println("After:", a.name)
}

Risultato:

Before: a
After: b

Il metodo accetta sia il puntatore che il valore

A differenza delle funzioni, i metodi Go possono accettare sia ricevitori di valori che di puntatori. È possibile passare puntatori o valori e il metodo li gestirà di conseguenza.

Per esempio:

package main
import "fmt"

type person struct {
    name string
}
// Phương thức với receiver pointer
func (p *person) updateName(newName string) {
    p.name = newName
}

// Phương thức với receiver value 
func (p person) showName() {
    fmt.Println("Name:", p.name)
}

func main() {
    a := person{name: "a"}
    
    // Gọi phương thức con trỏ cùng giá trị
    a.updateName("b")
    fmt.Println("After pointer method:", a.name)
    
    // Gọi phương thức giá trị với con trỏ
    (&a).showName()
}

Risultato:

After pointer method: b
Name: b

Differenza tra metodo e funzione

Metodo Mascella
Contiene un ricevitore Non contiene il ricevitore
È possibile definire metodi con lo stesso nome ma tipi diversi. Non sono consentite funzioni con lo stesso nome ma tipi diversi.
Non può essere usato come superlativo Possono essere usati come oggetti superordinati

Leave a Comment

Come risolvere lerrore di mancata invio della chat di Microsoft Teams

Come risolvere lerrore di mancata invio della chat di Microsoft Teams

Problemi con l'errore di chat di Microsoft Teams che non invia messaggi? Scopri le soluzioni dettagliate per gli ultimi problemi di Teams, dalla cancellazione della cache alle modifiche di rete. Torna a chattare senza problemi in pochi minuti!

Come risolvere lerrore hardware di Microsoft Teams (correzione del registro 2026)

Come risolvere lerrore hardware di Microsoft Teams (correzione del registro 2026)

Stanco di crash di Microsoft Teams con errori gravi? Ottieni la comprovata correzione del registro 2026 che risolve il problema in pochi minuti. Guida passo passo, screenshot e suggerimenti per una risoluzione definitiva. Funziona con le versioni più recenti!

Risoluzione dei problemi relativi al portachiavi di errore di Microsoft Teams per Mac

Risoluzione dei problemi relativi al portachiavi di errore di Microsoft Teams per Mac

Hai problemi con il portachiavi di errore di Microsoft Teams su Mac? Scopri soluzioni comprovate e dettagliate per macOS per tornare a collaborare senza problemi. Soluzioni rapide all'interno!

Come risolvere lerrore La scheda Wiki di Microsoft Teams non si carica

Come risolvere lerrore La scheda Wiki di Microsoft Teams non si carica

Hai problemi con il caricamento della scheda Wiki di Microsoft Teams? Scopri soluzioni passo passo comprovate per risolvere rapidamente il problema, ripristinare le schede Wiki e aumentare la produttività del team senza problemi.

Come risolvere i problemi di audio ovattato o assente del microfono di Microsoft Teams

Come risolvere i problemi di audio ovattato o assente del microfono di Microsoft Teams

Stanco di sentire l'audio ovattato o assente nel microfono di Microsoft Teams? Scopri come risolvere i problemi del microfono di Microsoft Teams con passaggi rapidi e comprovati. Un audio nitido ti aspetta!

Come correggere gli errori di sincronizzazione della gestione delle attività di Microsoft Teams

Come correggere gli errori di sincronizzazione della gestione delle attività di Microsoft Teams

Stanco degli errori di sincronizzazione di Gestione Attività di Microsoft Teams che interrompono il tuo flusso di lavoro? Segui le nostre soluzioni dettagliate e dettagliate per ripristinare la perfetta sincronizzazione delle attività tra Teams, Planner e To Do. Soluzioni rapide per un sollievo immediato!

Come cancellare la cache di Microsoft Teams per risolvere i problemi di prestazioni

Come cancellare la cache di Microsoft Teams per risolvere i problemi di prestazioni

Hai problemi con la lentezza di Microsoft Teams? Scopri come svuotare la cache di Microsoft Teams passo dopo passo per risolvere problemi di prestazioni, ritardi, arresti anomali e aumentare la velocità su Windows, Mac, web e dispositivi mobili. Soluzioni rapide e efficaci!

Risoluzione degli errori di rete di Microsoft Teams su Wi-Fi pubblico

Risoluzione degli errori di rete di Microsoft Teams su Wi-Fi pubblico

Problemi di rete di Microsoft Teams su una rete Wi-Fi pubblica? Ottieni soluzioni immediate come modifiche alla VPN, controlli delle porte e cancellazione della cache per ripristinare chiamate e riunioni senza problemi. Guida passo passo per un rapido sollievo.

Dove trovare il tuo ID Microsoft Teams e le informazioni sullaccount

Dove trovare il tuo ID Microsoft Teams e le informazioni sullaccount

Hai difficoltà a trovare il tuo ID Microsoft Teams o i dettagli del tuo account? Questa guida dettagliata mostra esattamente dove trovare il tuo ID Microsoft Teams e le informazioni del tuo account su desktop, web, dispositivi mobili e altro ancora, per una collaborazione senza interruzioni.

Come risolvere lerrore 1200 di Microsoft Teams sul telefono (iOS/Android)

Come risolvere lerrore 1200 di Microsoft Teams sul telefono (iOS/Android)

Stanco dell'errore 1200 di Microsoft Teams che blocca le tue chiamate al telefono? Scopri soluzioni rapide e dettagliate per iOS e Android per tornare a lavorare in team senza intoppi, senza bisogno di competenze tecniche!

Dove trovare la cartella di installazione di Microsoft Teams sul tuo PC

Dove trovare la cartella di installazione di Microsoft Teams sul tuo PC

Hai difficoltà a trovare la cartella di installazione di Microsoft Teams sul tuo PC? Questa guida dettagliata ti mostrerà i percorsi esatti per le installazioni di Teams, sia nuove che classiche, per utente e per computer. Risparmia tempo nella risoluzione dei problemi!

Come creare e gestire un bot in Microsoft Teams (2026)

Come creare e gestire un bot in Microsoft Teams (2026)

Scopri come creare e gestire un bot in Microsoft Teams (2026) con questa guida esperta. Dalla configurazione alla gestione avanzata, aumenta la produttività utilizzando gli ultimi strumenti di Bot Framework e Azure.

Perché la mia registrazione su Microsoft Teams non è riuscita? Motivi comuni

Perché la mia registrazione su Microsoft Teams non è riuscita? Motivi comuni

Frustrato perché la tua registrazione su Microsoft Teams non è riuscita? Scopri le cause più comuni, come problemi di autorizzazioni, limiti di spazio di archiviazione e problemi di rete, oltre a soluzioni dettagliate per prevenire futuri errori e registrare in modo impeccabile ogni volta.

Come risolvere lerrore di accesso a Microsoft Teams sui Chromebook

Come risolvere lerrore di accesso a Microsoft Teams sui Chromebook

Problemi di accesso a Microsoft Teams su Chromebook? Scopri le soluzioni dettagliate per risolvere rapidamente i problemi di accesso. Svuota la cache, aggiorna le app e altro ancora per un lavoro di squadra senza intoppi. Compatibile con l'ultima versione di Chrome OS!

Come mantenere Microsoft Teams attivo e disponibile tutto il giorno

Come mantenere Microsoft Teams attivo e disponibile tutto il giorno

Scopri come mantenere Microsoft Teams attivo e disponibile tutto il giorno. Suggerimenti, strumenti e impostazioni comprovati per evitare lo stato "Assente", aumentare la produttività e non perdere mai un colpo durante la tua giornata lavorativa.