Méthodes portant le même nom dans Golang

Golang  permet de créer deux ou plusieurs méthodes portant le même nom dans le même package, mais les récepteurs de ces méthodes doivent être de types différents. Cette fonctionnalité n'est pas disponible dans les fonctions Go, ce qui signifie que vous n'êtes pas autorisé à créer des méthodes avec le même nom dans le même package, si vous essayez de le faire, le compilateur vous donnera une erreur.

Méthodes portant le même nom dans Golang

Syntaxe:

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

// Code

}


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

// Code

}

Regardons l'exemple suivant pour mieux comprendre les méthodes portant le même nom dans Golang :

Exemple 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() 
} 

Résultat:

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

Explication : Dans l'exemple ci-dessus, nous avons deux méthodes avec le même nom, c'est-à-dire show() mais avec des types de réception différents. Ici, la première méthode show() contient s de type student et la deuxième méthode show() contient t de type teacher . Et dans la fonction main() , nous appelons les deux méthodes à l'aide de leurs variables de structure respectives. Si vous essayez de créer ces méthodes show() avec le même type de récepteur, le compilateur renverra une erreur.

Exemple 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()) 
} 

Résultat:

Result 1:  GeeksforGeeks
Result 2: 532
Sign up and earn $1000 a day ⋙

Leave a Comment

Mots-clés en Go

Mots-clés en Go

Mot-clé - Les mots-clés sont des mots dans une langue qui sont utilisés pour un processus interne ou qui représentent une action prédéfinie. Voici ce que vous devez savoir sur les mots-clés dans Golang.

Types de données dans Golang

Types de données dans Golang

Le type de données spécifie le type de données qu'une variable Go valide peut contenir. Dans le langage Go, les types sont divisés en quatre catégories comme suit :

Arguments de fonction dans Golang

Arguments de fonction dans Golang

Go prend en charge deux manières principales de transmettre des arguments : le passage par valeur et le passage par référence. Go utilise le passage par valeur par défaut.

Fonction renvoyant plusieurs valeurs en Golang

Fonction renvoyant plusieurs valeurs en Golang

Dans le langage Go, vous êtes autorisé à renvoyer plusieurs valeurs à partir d'une fonction, à l'aide de l'instruction return. En d’autres termes, dans une fonction, une instruction de retour peut renvoyer plusieurs valeurs.

Instruction Switch en Go

Instruction Switch en Go

Golang, comme la plupart des autres langages de programmation, possède une instruction switch. Voici comment utiliser l'instruction switch dans Golang.

Cas à connaître lors de lutilisation dinstructions de sélection en Golang

Cas à connaître lors de lutilisation dinstructions de sélection en Golang

Dans cet article, nous allons apprendre à utiliser le cas par défaut pour éviter le blocage. Mais d'abord, découvrons quel est le cas de blocage lors de l'utilisation de la commande Golang select ?

Structures et champs anonymes dans Golang

Structures et champs anonymes dans Golang

Les structures anonymes dans Golang sont des structures temporaires sans nom utilisées à des fins ponctuelles, tandis que les champs anonymes permettent l'intégration de champs sans nom.

Comment utiliser Rune dans Golang

Comment utiliser Rune dans Golang

Que sont les runes dans Golang ? Comment utiliser Rune dans Golang ? L'article vous donnera la réponse.

Comment utiliser les opérateurs dans Golang

Comment utiliser les opérateurs dans Golang

Les opérateurs nous permettent d’effectuer différents types d’opérations sur les opérandes. Dans le langage Go, les opérateurs peuvent être classés en fonction de leurs différentes fonctions.

Identifiant vide dans Golang

Identifiant vide dans Golang

_(underscore) dans Golang est appelé identifiant vide. L'identifiant est un nom défini par l'utilisateur des composants du programme utilisés à des fins d'identification.

Comment créer un programme de base en Golang

Comment créer un programme de base en Golang

Bonjour le monde! est le premier programme de base dans tout langage de programmation. Vous pouvez écrire ce premier programme en Golang en suivant les étapes ci-dessous.

Comment installer Go sur Windows

Comment installer Go sur Windows

Golang peut être facilement installé sur Windows. Vous trouverez ci-dessous un guide détaillé étape par étape pour installer Golang sur Windows.

Fonctions en Go

Fonctions en Go

En Go, les fonctions sont des blocs de code qui exécutent des tâches spécifiques, qui peuvent être réutilisées dans tout le programme pour économiser de la mémoire, améliorer la lisibilité et gagner du temps.

Portée variable en Go

Portée variable en Go

La portée d'une variable dans Golang détermine la partie du programme où cette variable est accessible. En Go, tous les identifiants ont une portée lexicale qui est déterminée au moment de la compilation.

Health risks of Vitamin B12 deficiency

Health risks of Vitamin B12 deficiency

Your red blood cells, nerves, and brain all depend on vitamin B12. But some people dont get enough of this nutrient, and a vitamin B12 deficiency can cause a number of health problems.

ChatGPT plante globalement

ChatGPT plante globalement

Le matin du 22 novembre, le chatbot ChatGPT d'OpenAI a rencontré de nombreux problèmes et de nombreux utilisateurs dans le monde n'ont pas pu utiliser cette application d'IA.

Comment utiliser WiFi Analyzer pour booster votre connexion Wi-Fi

Comment utiliser WiFi Analyzer pour booster votre connexion Wi-Fi

Le simple achat d’un nouveau routeur Wi-Fi ne suffit pas à booster votre réseau. Pour tirer le meilleur parti de votre Wi-Fi, vous devez vous assurer que vous obtenez la meilleure portée, le meilleur signal et la meilleure fréquence.

Unités de mesure de base en informatique

Unités de mesure de base en informatique

Bit signifie Binary Digit, qui est le terme désignant la plus petite partie de la mémoire d'un ordinateur capable de stocker l'un des deux états d'information : 0 ou 1 (qui peut être compris comme l'état activé ou désactivé d'un transistor dans un ordinateur).

Comment améliorer vos habitudes de prise de notes grâce aux rappels

Comment améliorer vos habitudes de prise de notes grâce aux rappels

Une bonne habitude de mémorisation commence par des rappels : ils arrivent au bon moment pour capturer ces pensées fugaces.

7 applications gratuites qui amélioreront instantanément vos photos sur smartphone

7 applications gratuites qui amélioreront instantanément vos photos sur smartphone

Il existe encore de nombreux outils de photographie gratuits et puissants que vous pouvez utiliser pour améliorer vos photos.

Astuces pour rendre le widget de recherche Google plus utile

Astuces pour rendre le widget de recherche Google plus utile

Le widget Recherche Google vous donne un accès rapide à la recherche Google et au flux Discover, ainsi qu'à la recherche vocale et à Google Lens.

Comment se connecter et désactiver le rappel dexpiration du mot de passe

Comment se connecter et désactiver le rappel dexpiration du mot de passe

Si vous rencontrez le message Votre mot de passe a expiré et doit être modifié sur l'écran de connexion Windows, c'est parce que les mots de passe des comptes locaux Windows expirent tous les 42 jours par défaut.

Comment convertir des images WebP en PNG, JPG sur Chrome, Coc Coc

Comment convertir des images WebP en PNG, JPG sur Chrome, Coc Coc

Pour convertir des images WebP aux formats PNG et JPG, nous pouvons le faire de différentes manières, par exemple en le faisant directement sur l'URL de l'image ou en utilisant des outils de conversion d'image.

4 façons dutiliser le mode Canvas de ChatGPT

4 façons dutiliser le mode Canvas de ChatGPT

Le nouveau mode Canvas de ChatGPT ajoute une nouvelle dimension à l'écriture et à l'édition dans le moteur d'IA générative leader au monde.

Ce que les gens détestent le plus dans les éditeurs de photos IA

Ce que les gens détestent le plus dans les éditeurs de photos IA

Bien que les éditeurs de photos IA puissent considérablement rationaliser votre flux de travail d'édition, ils sont loin d'être parfaits. Il y a quelques choses que les utilisateurs n'aiment pas à leur sujet et dans l'article d'aujourd'hui, vous découvrirez lesquelles.

Nintendo révolutionne la façon dont les jeux numériques sont partagés avec les cartes de jeu virtuelles

Nintendo révolutionne la façon dont les jeux numériques sont partagés avec les cartes de jeu virtuelles

Dans une démarche qui change complètement la façon dont les jeux numériques sont distribués, Nintendo a officiellement présenté le système de cartes de jeu virtuelles lors de l'événement Nintendo Direct.

Instructions pour envoyer des fichiers sur Messenger sur téléphone et ordinateur

Instructions pour envoyer des fichiers sur Messenger sur téléphone et ordinateur

En plus d'envoyer des photos sur Messenger, les utilisateurs peuvent désormais envoyer des fichiers sur l'application à d'autres, avec tous les formats de fichiers de documents tels que pdf, doc, xlx...

Comment ajouter automatiquement des sous-titres et des paroles sur CapCut

Comment ajouter automatiquement des sous-titres et des paroles sur CapCut

CapCut a également la possibilité d'insérer des sous-titres vidéo comme certaines applications de sous-titrage vidéo célèbres. L'application reconnaît ensuite automatiquement le son et la voix dans la vidéo, puis les affiche dans la vidéo.

Différence entre le Wi-Fi 2,4 GHz et 5 GHz

Différence entre le Wi-Fi 2,4 GHz et 5 GHz

Vous venez de décider de remplacer votre ancien routeur. Lorsque vous déballez votre nouveau routeur sans fil, vous vous demandez peut-être pourquoi il existe deux réseaux : 2,4 GHz et 5 GHz. Le réseau 5 GHz est-il donc plus puissant ? Quelle est la différence entre eux ?