Maison  >  Article  >  développement back-end  >  Une discussion approfondie sur les méthodes en golang (tutoriel)

Une discussion approfondie sur les méthodes en golang (tutoriel)

PHPz
PHPzoriginal
2023-04-11 10:42:18573parcourir

Golang est un langage de programmation moderne. Il est né pour résoudre les lacunes du C++ et de Java. En raison de son efficacité, de sa facilité d’apprentissage et de sa grande fiabilité, Golang est devenu le langage de choix de nombreuses grandes entreprises. Les méthodes de Golang sont une fonctionnalité extrêmement puissante car elles nous permettent de mieux modulariser et organiser notre code. Dans l'article suivant, nous apprendrons les méthodes de Golang et comprendrons comment elles interagissent avec notre code.

Que sont les méthodes Golang ?

Dans Golang, une méthode est une fonction pour un type personnalisé. En d’autres termes, lorsque vous définissez un type et souhaitez effectuer certaines opérations sur ce type, vous définissez des méthodes pour accomplir ces opérations. Les méthodes sont souvent appelées comportements d’un type car elles vous permettent de définir comment le type doit se comporter.

Les méthodes de Golang sont légèrement différentes de celles des autres langages de programmation. Ils ne peuvent pas exister seuls. Au lieu de cela, ils doivent être liés à un type pour indiquer qu’ils appartiennent à ce type. Cela signifie que lorsque vous définissez une méthode, vous devez spécifier le type auquel vous souhaitez la lier. Cela se fait en utilisant la syntaxe "()" entre le nom de la méthode et le type du récepteur. Vous trouverez ci-dessous un exemple de code pour définir des méthodes dans Golang :

type Person struct {
    Name string
    Age  int
}

func (p Person) GetName() string {
    return p.Name
}

func (p Person) GetAge() int {
    return p.Age
}

Dans le code ci-dessus, nous définissons un type nommé Person puis définissons deux méthodes GetName et GetAge. Chaque méthode possède un récepteur qui spécifie le type auquel la méthode est liée. Dans ce cas, le récepteur est de type Personne. Lorsque nous appellerons p.GetName(), la méthode prendra une instance de type Person comme paramètre.

Comment définir la méthode Golang ?

Dans Golang, définir des méthodes est très simple. Nous pouvons utiliser la syntaxe suivante pour convertir une fonction en méthode :

func (t Type) methodName(parameter list) {
 //方法内容
}

où Type représente le type auquel la méthode doit être liée et methodName représente le nom de la méthode que vous souhaitez utiliser. Le récepteur est un paramètre et peut être un récepteur de valeur ou un récepteur de pointeur.

Dans l'exemple de code ci-dessous, nous définissons un type nommé Car et une méthode nommée Drive :

type Car struct {
    brand string
    model string
}

func (c Car) Drive() {
    fmt.Printf("Driving %s %s\n", c.brand, c.model)
}

Dans le code ci-dessus, nous définissons un type nommé Car puis définissons une méthode Drive. Cette méthode reçoit une instance du type Car nommée c en tant que paramètre, qu'elle utilisera pour générer un message.

Comment utiliser les méthodes Golang ?

Dans Golang, l'utilisation est très simple. Une fois qu'une méthode est définie, nous pouvons l'appliquer aux instances de ce type à l'aide de l'opérateur "."

Exemple :

car := Car{
    brand: "BMW",
    model: "M5",
}

car.Drive()

Dans le code ci-dessus, nous avons créé un type de voiture appelé car et lui avons attribué une valeur avec la marque et le modèle "BMW" et "M5". Nous appelons ensuite cette méthode à l’aide de la fonction Drive.

Récepteur de valeur et récepteur de pointeur

À Golang, il existe également un autre type de récepteur : le récepteur de pointeur. Les récepteurs pointeurs sont très similaires aux récepteurs de valeurs, mais il existe des différences importantes lors de leur utilisation. Les récepteurs pointeurs utilisent l'opérateur "*" avant le nom du type.

Que vous utilisiez un récepteur de valeur ou un récepteur de pointeur dépend de ce que vous voulez faire. Les récepteurs de valeur sont généralement le meilleur choix lorsque vous avez simplement besoin de lire les propriétés d'une instance. Si vous souhaitez modifier les propriétés d'une instance, vous devez utiliser un récepteur de pointeur.

L'exemple de code ci-dessous montre comment utiliser un récepteur de pointeur :

func (c *Car) SetBrand(brand string) {
    c.brand = brand
}

Dans le code ci-dessus, nous définissons une méthode appelée SetBrand et la lions au type de voiture à l'aide d'un récepteur de pointeur. Par conséquent, lorsque la méthode est appelée, la méthode recevra un pointeur vers l’instance Car, et non vers l’instance Car elle-même. Cela nous permet de modifier les propriétés de cette instance.

Résumé

Les méthodes en Golang sont des outils puissants pour travailler avec des types. Ils rendent le code plus modulaire et réutilisable et offrent aux programmeurs un moyen pratique de définir le comportement d'un type. Que vous soyez nouveau sur Golang ou expert, comprendre les méthodes de Golang est essentiel pour écrire du code de haute qualité.

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