Metodi con lo stesso nome in Golang

Golang  consente di creare due o più metodi con lo stesso nome nello stesso pacchetto, ma i destinatari di questi metodi devono essere di tipo diverso. Questa funzionalità non è disponibile nelle funzioni Go, il che significa che non è consentito creare metodi con lo stesso nome nello stesso pacchetto. Se si tenta di farlo, il compilatore genererà un errore.

Metodi con lo stesso nome in Golang

Sintassi:

func(reciver_name_1 Type) method_name(parameter_list)(return_type){

// Code

}


func(reciver_name_2 Type) method_name(parameter_list)(return_type){

// Code

}

Diamo un'occhiata al seguente esempio per comprendere meglio i metodi con lo stesso nome in Golang:

Esempio 1:

// Chương trình Go minh họa cách
// tạo các phương thức cùng tên
package main 

import "fmt"

// Tạo các cấu trúc
type student struct { 
	name string 
	branch string 
} 

type teacher struct { 
	language string 
	marks int
} 

// Các phương thức cùng tên nhưng với
// kiểu receiver khác nhau
func (s student) show() { 

	fmt.Println("Name of the Student:", s.name) 
	fmt.Println("Branch: ", s.branch) 
} 

func (t teacher) show() { 

	fmt.Println("Language:", t.language) 
	fmt.Println("Student Marks: ", t.marks) 
} 

// Hàm chính
func main() { 

	// Khởi tạo các giá trị
	// of the structures 
	val1 := student{"Rohit", "EEE"} 

	val2 := teacher{"Java", 50} 

	// Gọi các phương thức
	val1.show() 
	val2.show() 
} 

Risultato:

Name of the Student: Rohit
Branch:  EEE
Language: Java
Student Marks:  50

Spiegazione: Nell'esempio precedente abbiamo due metodi con lo stesso nome, ovvero show() , ma con tipi di ricezione diversi. Qui, il primo metodo show() contiene s di tipo student e il secondo metodo show() contiene t di tipo teacher . E nella funzione main() chiamiamo entrambi i metodi con l'aiuto delle rispettive variabili di struttura. Se si tenta di creare questi metodi show() con lo stesso tipo di ricevitore, il compilatore genererà un errore.

Esempio 2:

// Chương trình Go minh họa cách
// tạo các phương thức cùng tên
// với receiver không phải struct
package main 

import "fmt"

type value_1 string 
type value_2 int

// Tạo hàm cùng tên với
// các kiểu receiver không phải struct khác nhau
func (a value_1) display() value_1 { 

	return a + "forGeeks"
} 

func (p value_2) display() value_2 { 

	return p + 298 
} 

// Hàm chính
func main() { 

	// Khởi tạo giá trị này
	res1 := value_1("Geeks") 
	res2 := value_2(234) 

	// Hiện kết quả
	fmt.Println("Result 1: ", res1.display()) 
	fmt.Println("Result 2: ", res2.display()) 
} 

Risultato:

Result 1:  GeeksforGeeks
Result 2: 532

Lascia un commento

Come smaltire un portatile a Cagliari: RAEE, dati e ritiro corretto

Come smaltire un portatile a Cagliari: RAEE, dati e ritiro corretto

Come smaltire un portatile a Cagliari: dove consegnarlo come RAEE, come cancellare i dati, quando usare il ritiro del negozio e cosa fare con una batteria danneggiata.

Come smaltire uno smartphone a Ravenna: RAEE, dati e ritiro corretto

Come smaltire uno smartphone a Ravenna: RAEE, dati e ritiro corretto

Come smaltire uno smartphone a Ravenna: dove consegnarlo, regole RAEE, ritiro nei negozi, cancellazione dei dati e cosa fare con una batteria danneggiata.

Come smaltire un microonde a Catania: CCR, ritiro e riconsegna

Come smaltire un microonde a Catania: CCR, ritiro e riconsegna

Scopri come smaltire un microonde a Catania: confronto tra CCR, ritiro del rivenditore e servizio a domicilio, con orari da verificare e preparazione sicura.

Centro di raccolta a Parma: orari, accesso e rifiuti accettati

Centro di raccolta a Parma: orari, accesso e rifiuti accettati

Guida aggiornata ai 5 centri di raccolta di Parma: indirizzi, orari, documenti per l’accesso, rifiuti conferibili e verifiche da fare prima di partire.

Come smaltire un portatile a Prato: RAEE, punti di raccolta e dati da cancellare

Come smaltire un portatile a Prato: RAEE, punti di raccolta e dati da cancellare

A Prato un portatile va conferito come RAEE, non nell’indifferenziato. Ecco dove portarlo, quando usare Ecotappe o Ecocentri, cosa vale nei negozi e come proteggere i dati.

Come smaltire una lavatrice a Padova: RAEE, ritiro e centro di raccolta

Come smaltire una lavatrice a Padova: RAEE, ritiro e centro di raccolta

Scopri come smaltire una lavatrice a Padova: ritiro con il nuovo acquisto, centro RAEE, preparazione, trasporto e controlli finali.

Come smaltire una bombola del gas a Napoli: restituzione, sicurezza e casi da evitare

Come smaltire una bombola del gas a Napoli: restituzione, sicurezza e casi da evitare

A Napoli le bombole GPL non vanno nei rifiuti urbani né nel normale ritiro ingombranti ASIA. Ecco come restituirle al rivenditore o distributore e cosa fare in caso di perdita.

Come smaltire un materasso: ritiro ingombranti, ecocentro e alternative

Come smaltire un materasso: ritiro ingombranti, ecocentro e alternative

Come smaltire un materasso in Italia: ritiro degli ingombranti, ecocentro, rivenditore e donazione, con costi e regole da verificare nel Comune.

Come smaltire un computer a Brescia: centri di raccolta, Ecocar e dati da cancellare

Come smaltire un computer a Brescia: centri di raccolta, Ecocar e dati da cancellare

Scopri come smaltire un computer a Brescia: centri Aprica, Ecocar, orari, accesso, preparazione dei dati e differenze tra utenza domestica e aziendale.

Come smaltire una power bank gonfia a Messina: cosa fare subito

Come smaltire una power bank gonfia a Messina: cosa fare subito

Power bank gonfia a Messina? Scopri cosa fare subito, chi contattare, dove conferire batterie e piccoli RAEE e quali errori evitare.