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

déclaration de la méthode golang

PHPz
Libérer: 2023-05-16 16:54:08
original
472 Les gens l'ont consulté

Golang est un langage de programmation très populaire développé par Google. Sa syntaxe unique et ses performances puissantes le rendent très populaire. En Golang, la déclaration de méthode est une connaissance de base très importante car elle joue un rôle important dans la programmation orientée objet.

Dans Golang, nous pouvons utiliser des méthodes pour étendre les fonctionnalités des types. Les méthodes peuvent être définies dans des structures ou dans les fichiers de code source de n'importe quel type (même les types de base). Dans cet article, nous explorerons les bases des déclarations de méthodes Golang, y compris la syntaxe des méthodes, les types de paramètres et de valeurs de retour, etc.

Syntaxe des méthodes

En Golang, nous pouvons utiliser la syntaxe suivante pour déclarer des méthodes :

func (t Type) methodName(parameterList) (returnTypeList) {

// 方法体
Copier après la connexion

}

Parmi eux, func est utilisé pour déclarer les méthodes. mot-clé, Type est le type du paramètre du récepteur, methodName est le nom de la méthode, ParameterList est la liste des paramètres de la méthode et returnTypeList est la liste des valeurs de retour de la méthode.

Dans la syntaxe ci-dessus, Type peut être un type de structure ou d'autres types. Le paramètre récepteur est le type sur lequel la méthode est définie, ce qui signifie que nous pouvons accéder à la méthode en utilisant l'instance sur laquelle la méthode est appelée. Si nous définissons un type de structure, nous pouvons l'utiliser pour appeler des méthodes comme celle-ci :

type Rectangle struct {

width, height float64
Copier après la connexion

}

func (r Rectangle) area() float64 {

return r.width * r.height
Copier après la connexion

}

r : = Rectangle{ 3, 4}
fmt.Println(r.area())

Dans le code ci-dessus, nous définissons un type Rectangle et une méthode Area(). Le paramètre récepteur de la méthode Area() est un type Rectangle de. Nous créons une instance de Rectangle r et l'utilisons pour appeler la méthode Area() afin de calculer l'aire du rectangle.

Ensuite, jetez un œil à la liste des paramètres et à la liste des valeurs de retour. La liste des paramètres contient zéro ou plusieurs paramètres, et le type de ces paramètres peut être n'importe quel type Golang valide. La liste des valeurs de retour représente la valeur de retour de la méthode, qui consiste en 0 ou plusieurs valeurs de retour. Le type de ces valeurs de retour peut également être n'importe quel type Golang valide.

Voici un exemple qui montre comment définir une méthode avec deux paramètres et une valeur de retour :

type Person struct {

name string
age  int
Copier après la connexion

}

func (p Person) fullName(firstName string, lastName string) string {

p.name = firstName + " " + lastName
return p.name
Copier après la connexion

}

person := Person{"Jerry", 28}
fmt.Println(person.fullName("John", "Doe"))

Dans cet exemple, nous définissons un type Person et une méthode fullName() . La méthode fullName() a deux paramètres : firstName et lastName. Elle a également une valeur de retour de type string. Dans la méthode fullName(), nous combinons firstName et lastName en un nom complet, puis l'attribuons au champ name dans la structure Person et renvoyons ce nom.

Types de paramètres et de valeurs de retour

La liste de paramètres et la liste de valeurs de retour des méthodes Golang sont très flexibles, elles peuvent être n'importe quel type de données Golang valide. Dans une définition de méthode, les paramètres et les types de valeurs de retour peuvent être identiques ou différents. Jetons un coup d'œil à l'exemple suivant :

type Student struct {

name      string
age       int
grade     int
addresses []string
Copier après la connexion

}

func (s *Student) changeName(name string) {

s.name = name
Copier après la connexion

}

func (s *Student) getAddresses() [] string {

return s.addresses
Copier après la connexion

}

student := Student{"Joe", 12, 6, []string{"Pékin", "Shanghai"}}
fmt.Println(student.name)
student.changeName("Tom " )
fmt.Println(student.name)

addresses := student.getAddresses()
fmt.Println(addresses)

Dans le code ci-dessus, nous définissons une structure Student et deux méthodes : changeName() et getAddresses( ). Le paramètre récepteur de la méthode changeName() est un pointeur vers la structure Student, qui n'a pas de valeur de retour, tandis que le paramètre récepteur de la méthode getAddresses() est un pointeur vers la structure Student et sa valeur de retour est un tableau de chaînes.

Dans la méthode changeName(), nous définissons le champ de nom de l'instance Student sur une nouvelle valeur, et dans la méthode getAddresses(), nous renvoyons directement le champ d'adresses de l'instance Student.

Résumé

Comme mentionné dans cet article, la déclaration de méthode est une partie très importante de la programmation Golang. Parmi eux, la syntaxe de la méthode, les paramètres et les types de valeurs de retour sont les trois aspects auxquels nous devons prêter attention. En comprenant la définition et l'utilisation des méthodes Golang, nous pouvons mieux utiliser les excellentes fonctionnalités de Golang et développer des applications plus efficaces et excellentes.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!