Maison > développement back-end > Golang > le corps du texte

définition du type de méthode golang

WBOY
Libérer: 2023-05-15 11:07:07
original
603 Les gens l'ont consulté

Golang est un langage de programmation très puissant qui prend en charge la programmation orientée objet (POO). Dans Golang, nous pouvons utiliser des méthodes pour implémenter des fonctionnalités telles que l'encapsulation, l'héritage et le polymorphisme dans la programmation orientée objet. Une méthode fait référence à une fonction associée à un certain type, qui peut être appelée via le type, similaire aux méthodes membres (Member Function) ou aux méthodes d'instance (Instance Method) dans d'autres langages de programmation.

Les méthodes en Golang sont définies sur une structure (Struct) ou un type (Type), et sont étroitement liées à la structure ou au type lui-même. Grâce aux méthodes, nous pouvons associer le comportement aux données, rendant le code plus lisible et concis.

Les définitions de type de méthode de Golang incluent principalement les éléments suivants :

  1. Méthode Value (Value Method)
    Une méthode de type valeur fait référence à une fonction associée à un certain type, et son récepteur est une valeur de ce type. Les modifications apportées au récepteur au sein de la méthode n'affecteront pas la valeur d'origine.

Par exemple, voici la définition d'une méthode de type valeur :

type Rectangle struct {
    width, height float64
}

func (r Rectangle) area() float64 {
    return r.width * r.height
}
Copier après la connexion

Dans cet exemple, nous définissons une structure Rectangle et définissons une méthode de type valeur nommée zone. Le récepteur de cette méthode est une valeur de type Rectangle (r Rectangle) et renvoie une zone de type float64.

Lors de l'appel de cette méthode, nous pouvons l'appeler via une valeur de type Rectangle :

rect := Rectangle{width: 10, height: 5}
fmt.Println(rect.area())
Copier après la connexion
  1. Méthode Pointer (méthode Pointer)
    La méthode de type Pointer fait référence à une fonction associée à un certain type, et son récepteur est Un pointeur vers ce type . La modification du récepteur à l'intérieur de la méthode affectera la valeur d'origine car le pointeur pointe vers la valeur d'origine.

Par exemple, voici la définition d'une méthode de type pointeur :

type Rectangle struct {
    width, height float64
}

func (r *Rectangle) scale(factor float64) {
    r.width = r.width * factor
    r.height = r.height * factor
}
Copier après la connexion

Dans cet exemple, nous définissons une structure Rectangle et définissons une méthode de type pointeur nommée scale. Le récepteur de cette méthode est un pointeur de type Rectangle (r *Rectangle) et n'a aucune valeur de retour. Dans la méthode, nous multiplions les propriétés de largeur et de hauteur de la structure par un facteur.

Lors de l'appel de cette méthode, nous devons l'appeler via un pointeur vers le type Rectangle :

rect := &Rectangle{width: 10, height: 5}
rect.scale(2)
fmt.Println(rect.width, rect.height)
Copier après la connexion
  1. Méthode de type intégré (méthode de type intégré)
    La méthode de type intégré fait référence à l'utilisation d'un type comme champ d'un autre type, et dans Les méthodes de ce type sont utilisées directement dans la méthode. Les méthodes de type intégré sont en fait une définition de type de méthode unique au langage Go, qui équivaut à l'héritage ou aux types mixtes dans d'autres langages.

Par exemple, nous pouvons définir un type Animal, puis définir un type Chat, et utiliser le type Animal comme champ intégré du type Chat. De cette façon, le type Chat peut utiliser directement les méthodes du type Animal.

type Animal struct {
    name string
}

func (a *Animal) move() {
    fmt.Println(a.name, "is moving")
}

type Cat struct {
    *Animal
}

func main() {
    cat := &Cat {
        Animal: &Animal {
            name: "Tom",
        },
    }
    cat.move()
}
Copier après la connexion

Dans cet exemple, nous définissons un type Animal et un type Chat, et intégrons le type Animal dans le type Chat en tant que champ anonyme. De cette façon, le type Chat peut utiliser directement les méthodes du type Animal.

Lors de l'appel de cette méthode, nous pouvons appeler directement la méthode move de type Cat. Étant donné que le type Cat contient un type Animal, la méthode move est en fait une méthode de ce type.

Résumé :
Golang prend en charge plusieurs définitions de types de méthodes telles que les méthodes de type valeur, les méthodes de type pointeur et les méthodes de type intégré. En définissant différents types de méthodes, nous pouvons répondre à différents besoins de programmation et apporter plus de flexibilité et de commodité à la 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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal