Maison  >  Article  >  développement back-end  >  Introduction détaillée à l'appel de méthode dans Golang

Introduction détaillée à l'appel de méthode dans Golang

PHPz
PHPzoriginal
2023-04-14 13:33:23691parcourir

Golang est un langage de programmation de plus en plus populaire privilégié par les développeurs pour sa simplicité et son efficacité. Golang offre une bonne prise en charge de la concurrence et d'excellentes performances au niveau du langage, ce qui en fait un bon choix pour créer des applications, des services, des frameworks et des bibliothèques hautes performances. Dans Golang, nous pouvons utiliser différentes manières d'appeler des fonctions et des méthodes. Cet article présentera en détail l'appel de méthode dans Golang.

1. Présentation de l'appel de méthode

Dans Golang, l'appel de méthode fait référence à l'appel d'une méthode sur un type de structure (ou son type de pointeur). La syntaxe des méthodes et des fonctions est très similaire, mais leur sémantique est différente. Une méthode en Golang peut être considérée comme une fonction attachée à un type, la méthode doit donc être définie sur un certain type, tandis que la fonction est définie dans l'espace de noms global.

Dans Golang, nous implémentons l'invocation de méthode en définissant un récepteur de méthode. Le récepteur peut être un type structure ou son type pointeur. Généralement, nous pouvons définir le récepteur de la manière suivante :

func (receiver_type) method_name(parameters) return_type {

//函数实现

}

où, récepteur_type spécifie le type de récepteur, method_name est le nom de la méthode et les paramètres sont la liste des paramètres de la méthode, return_type est le type de valeur de retour de la méthode.

2. Appel de méthodes de types de structure

Voici un exemple simple qui montre comment définir et appeler des méthodes sur un type de structure :

type Employee struct {

name   string
salary int

}

func (e Employee) displaySalary () {

fmt.Printf("Salary of %s is %d\n", e.name, e.salary)

}

func main() {

emp := Employee{name: "Jade", salary: 5000}
emp.displaySalary()

}

Dans l'exemple ci-dessus, nous définissons un type de structure appelé Employee et définissons une méthode displaySalary, qui est utilisée pour imprimer Obtenez les informations salariales d'un employé donné. Dans la fonction principale, nous instancions un objet Employee puis appelons la méthode displaySalary pour afficher ses informations de salaire.

Le résultat de sortie est :

Le salaire de Jade est de 5000

Cet exemple est simple, mais il démontre le concept de base de l'appel de méthode dans Golang. Nous avons défini une méthode avec le type de récepteur comme Employee et l'avons utilisée dans la fonction principale en appelant la méthode sur l'objet Employee.

3. Appel de méthode de type pointeur de structure

Dans l'exemple ci-dessus, nous avons défini une méthode avec le type de récepteur comme Employee, qui est une instance du type de structure. Cependant, dans la sémantique basée sur les pointeurs, nous devons souvent définir et utiliser des types de pointeurs pointant vers des structures. Ainsi, dans Golang, nous pouvons également définir et appeler des méthodes sur des pointeurs de structure.

Voici un exemple montrant comment définir et appeler des méthodes sur un pointeur de structure :

type Employee struct {

name   string
salary int

}

func (e *Employee) displaySalary() {

fmt.Printf("Salary of %s is %d\n", e.name, e.salary)

}

func main( ) {

emp := &Employee{name: "Jade", salary: 5000}
emp.displaySalary()

}

Dans l'exemple ci-dessus, nous avons modifié le type de récepteur en un pointeur vers la structure Employee. Nous définissons une méthode appelée displaySalary et utilisons un pointeur vers Employee comme récepteur. Dans la fonction principale, nous instancions un pointeur vers l'objet Employee et appelons la méthode displaySalary via le pointeur pour afficher ses informations de salaire.

Le résultat est :

Le salaire de Jade est de 5 000

Cet exemple est très similaire à celui ci-dessus, mais il démontre l'utilisation de la sémantique basée sur des pointeurs pour définir et appeler des méthodes dans Golang.

4. Définir et appeler des méthodes dans l'interface

Une interface en Golang est un type qui décrit le comportement d'un objet plutôt que ses données. Une interface peut définir un ensemble de méthodes qui se concentrent sur le comportement de l'objet plutôt que sur son implémentation. Les interfaces sont une partie importante de Golang car elles fournissent un moyen de définir et d'implémenter le polymorphisme.

Voici un exemple qui montre comment définir et appeler des méthodes dans une interface :

type SalaryCalculator interface {

displaySalary()

}

type Employee struct {

name   string
salary int

}

func (e Employee) displaySalary() {

fmt.Printf("Salary of %s is %d\n", e.name, e.salary)

}

func main() {

emp := Employee{name: "Jade", salary: 5000}
var empSalary SalaryCalculator = emp
empSalary.displaySalary()

}

Dans l'exemple ci-dessus, nous avons défini une interface SalaryCalculator, qui définit une méthode displaySalary. Nous avons également défini un type de structure Employee et utilisé la méthode displaySalary pour imprimer les informations salariales de l'employé.

Dans la fonction principale, nous instancions un objet Employee puis l'attribuons au type d'interface SalaryCalculator. Ensuite, nous utilisons l'interface SalaryCalculator pour appeler la méthode displaySalary. Golang trouvera l'implémentation de cette méthode dans l'implémentation du type Employee et l'exécutera.

Le résultat est :

Le salaire de Jade est de 5 000

Cet exemple montre comment définir et utiliser des méthodes dans une interface. Cela montre que nous pouvons définir une méthode dans une interface et appeler la méthode sur le type d'interface.

5. Résumé

Cet article présente différentes manières de définir et d'appeler des méthodes dans Golang. Nous avons vu comment définir et appeler des méthodes sur les types struct et les types pointeurs, et comment définir et utiliser des méthodes sur les types d'interface. Que vous soyez débutant ou développeur expérimenté, vous obtiendrez des conseils et des points à retenir utiles.

En bref, Golang est un langage de programmation très puissant avec une syntaxe concise et efficace, une bonne prise en charge de la concurrence et d'excellentes performances. Lors de l'utilisation d'appels de méthode, nous pouvons passer d'appels de type structure simples à des appels de type interface complexes, ce qui rend Golang idéal pour créer des applications et des services hautes performances. J'espère que cet article pourra vous aider à mieux comprendre les appels de méthodes dans Golang.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn