Maison >développement back-end >Golang >déclaration de la méthode golang
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) {
// 方法体
}
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
}
func (r Rectangle) area() float64 {
return r.width * r.height
}
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
}
func (p Person) fullName(firstName string, lastName string) string {
p.name = firstName + " " + lastName return p.name
}
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
}
func (s *Student) changeName(name string) {
s.name = name
}
func (s *Student) getAddresses() [] string {
return s.addresses
}
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!