Maison  >  Article  >  développement back-end  >  Une plongée approfondie dans les appels de méthode de Golang

Une plongée approfondie dans les appels de méthode de Golang

PHPz
PHPzoriginal
2023-04-11 10:39:37555parcourir

Le langage Go est un langage de programmation puissant et facile à comprendre et à utiliser. Il est célèbre pour son excellent mécanisme d'opérations simultanées et de gestion de la mémoire. Dans Go, une méthode est une fonction spéciale à laquelle est associé un type de récepteur. Dans cet article, nous approfondirons l’invocation de la méthode Golang.

Bases des méthodes

Une méthode est une fonction spécifiquement conçue pour opérer sur des objets similaires. En Golang, une méthode fait référence à une fonction associée à un type. Ce type peut être une structure, un type de base, un type d'interface ou un autre type personnalisé. Il existe deux types de méthodes : les récepteurs de valeurs et les récepteurs de pointeurs. Les récepteurs de valeurs sont utilisés pour définir des méthodes pour les types de valeurs, et les récepteurs de pointeurs sont utilisés pour définir des méthodes pour les types de pointeurs.

Dans Golang, les méthodes sont définies en déclarant le nom de la fonction devant le type. Les noms de méthodes doivent suivre la convention de dénomination CamelCase, c'est-à-dire que la première lettre est en majuscule. Vous créez une méthode en ajoutant le type de récepteur et le nom de la variable à la liste des paramètres de la fonction. L'exemple suivant montre comment définir une méthode :

type Person struct {
    Name string
}

func (p Person) SayHello() {
    fmt.Printf("Hello, my name is %s.\n", p.Name)
}

Dans le code ci-dessus, un type de structure Person est défini et la méthode SayHello() est utilisée pour imprimer le nom de la personne.

Appel de méthode

Dans le langage Go, vous pouvez utiliser des méthodes objet pour effectuer des opérations. Il existe deux manières d'appeler des méthodes : le récepteur de valeur et le récepteur de pointeur.

La méthode du récepteur de valeur est appelée comme suit :

package main

import "fmt"

type Rectangle struct {
    length, width float64
}

func (r Rectangle) Area() float64 {
    return r.length * r.width
}

func main() {
    r := Rectangle{10, 5}
    fmt.Println("Rectangle Area:", r.Area())
}

Dans le code ci-dessus, nous définissons un rectangle de type Rectangle et implémentons une méthode Area() pour qu'il obtienne l'aire du rectangle. Dans la fonction main(), nous créons une variable r de type Rectangle et utilisons r.Area() pour obtenir l'aire du rectangle.

La méthode du récepteur de pointeur est appelée comme suit :

package main

import "fmt"

type Rectangle struct {
    length, width float64
}

func (r *Rectangle) Area() float64 {
    return r.length * r.width
}

func main() {
    r := &Rectangle{10, 5}
    fmt.Println("Rectangle Area:", r.Area())
}

Dans le code ci-dessus, nous implémentons la méthode Area() d'un récepteur de pointeur pour le type Rectangle, puis utilisons &r.Area() pour obtenir l'aire de le rectangle.

Résumé

En Golang, une méthode fait référence à une fonction associée à un type. Il existe deux types de méthodes : les récepteurs de valeurs et les récepteurs de pointeurs. Ils sont appelés différemment. La méthode du récepteur de valeur est appelée directement, tandis que la méthode du récepteur de pointeur doit être appelée à l'aide d'un pointeur. Les méthodes sont la base de la programmation orientée objet, et la connaissance des méthodes est cruciale pour comprendre et utiliser le langage de programmation 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