Maison  >  Article  >  développement back-end  >  Introduction détaillée à la méthode définie dans Golang

Introduction détaillée à la méthode définie dans Golang

PHPz
PHPzoriginal
2023-04-03 11:51:10972parcourir

Le langage Go est un langage de programmation émergent. Son élégance, son efficacité et sa simplicité ont attiré l'attention de nombreux programmeurs. Le langage Go est excellent dans de nombreux aspects tels que la syntaxe, la prise en charge de la plate-forme et les performances. Il est largement utilisé dans le traitement des données, la programmation à haute concurrence, la programmation Web et d'autres domaines, et présente une évolutivité extrêmement élevée.

La méthode définie dans Golang est une partie avec laquelle de nombreux développeurs ne sont pas familiers. Cet article présentera la méthode définie dans Golang et comment les utiliser.

Un ensemble de méthodes est un ensemble de méthodes qui appartiennent à une certaine interface ou structure. Dans le langage Go, l'ensemble de méthodes est divisé en un ensemble de méthodes de valeur et un ensemble de méthodes de pointeur. La plus grande différence est de savoir si l'appelant peut être modifié.

Les méthodes dans un ensemble de méthodes de valeur ne modifient pas la valeur sur laquelle elles sont appelées, c'est-à-dire que dans un ensemble de méthodes de valeur, les méthodes ne peuvent pas changer l'état de la valeur sur laquelle elles sont appelées. Nous pouvons utiliser un ensemble de méthodes contenant un type de structure comme récepteur, puis le type valeur peut appeler des méthodes dans l'ensemble de méthodes de valeur.

Prenons une chaîne comme exemple. Dans le langage Go, une chaîne est une tranche d'octets en lecture seule et sa valeur ne peut pas être modifiée. Si nous voulons modifier la chaîne, nous devons utiliser la méthode pointeur définie. La méthode set de la méthode du pointeur manipule la valeur d'une variable via un pointeur et peut changer son état. Nous pouvons utiliser un ensemble de méthodes contenant un type de pointeur de structure comme récepteur, puis le type de pointeur peut appeler des méthodes dans l'ensemble de méthodes de pointeur.

En langage Go, si nous définissons un ensemble de méthodes, cet ensemble de méthodes peut être appliqué à toutes les interfaces et structures avec les mêmes méthodes et implémentations. Cela nous fournit un moyen simple d’accéder aux fonctionnalités partagées.

Ce qui suit est un exemple d'utilisation de l'ensemble de méthodes de valeur et de l'ensemble de méthodes de pointeur :

package main

import (
    "fmt"
)

type User struct {
    Name string
    Age  int
}

func (u User) GetName() string {
    return u.Name
}

func (u *User) SetName(name string) {
    u.Name = name
}

func main() {
    user := User{
        Name: "Tom",
        Age:  18,
    }
    fmt.Println(user.GetName())
    user.SetName("Jerry")
    fmt.Println(user.GetName())
}

Dans cet exemple, nous définissons une structure User et définissons la méthode GetName dans l'ensemble de méthodes de valeur, qui renvoie le nom de l'utilisateur.

Dans l'ensemble de méthodes de pointeur, nous définissons la méthode SetName, qui peut modifier le nom de l'utilisateur.

La fonction main() crée d'abord une instance utilisateur nommée "Tom" et imprime son nom. On appelle ensuite la méthode SetName à l'aide du pointeur pour changer son nom en "Jerry". Lorsque la méthode GetName est appelée, elle renvoie le nouveau nom « Jerry ».

En plus de l'ensemble de méthodes de valeur et de l'ensemble de méthodes de pointeur, nous pouvons également utiliser l'interface vide comme récepteur de la méthode. Les méthodes implémentées à l’aide de l’interface vide peuvent être appelées sur n’importe quel type de valeur.

Par exemple, nous pouvons définir une méthode qui accepte une interface vide comme paramètre et imprime différents types de valeurs :

package main

import (
    "fmt"
)

func PrintValue(v interface{}) {
    fmt.Println(v)
}

func main() {
    PrintValue("Hello, World")
    PrintValue(123)
    PrintValue(3.142)
}

La méthode PrintValue accepte une interface vide comme paramètre et imprime sa valeur.

Dans la fonction main(), nous appelons la méthode PrintValue trois fois, en passant respectivement différents types de valeurs. Que des chaînes, des entiers ou des nombres à virgule flottante soient transmis, PrintValue peut imprimer leurs valeurs.

Résumé :

  • Un ensemble de méthodes est un ensemble de méthodes qui appartiennent à une certaine interface ou structure.
  • L'ensemble de méthodes est divisé en ensemble de méthodes de valeur et en ensemble de méthodes de pointeur. La plus grande différence est de savoir si l'appelant peut être modifié.
  • En langage Go, si nous définissons un ensemble de méthodes, cet ensemble de méthodes peut être appliqué à toutes les interfaces et structures avec les mêmes méthodes et implémentations.
  • Les méthodes implémentées à l'aide de l'interface vide peuvent être appelées par n'importe quel type de valeur.

Bien que Golang soit un langage de programmation émergent, il possède déjà de nombreuses excellentes fonctionnalités, et l'ensemble de méthodes en fait partie. Maîtriser l'utilisation d'ensembles de méthodes peut nous fournir des services pratiques et efficaces pendant le processus de développement.

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