Maison > développement back-end > Golang > méthodes et fonctions golang

méthodes et fonctions golang

WBOY
Libérer: 2023-05-14 14:01:08
original
563 Les gens l'ont consulté

Golang est un langage de programmation moderne avec de nombreuses conceptions exquises, y compris les concepts de méthodes et de fonctions. Les méthodes et les fonctions sont des concepts de base que les programmeurs Golang doivent connaître. Cet article détaillera leurs similitudes et leurs différences.

1. Fonction

La fonction est l'un des composants de base du programme Golang. Elle se compose du nom de la fonction, de la liste des paramètres, du type de valeur de retour et du corps de la fonction. La syntaxe est la suivante :

func 函数名(参数列表)(返回值类型){
     函数体
}
Copier après la connexion

Voici un exemple simple :

.
func sum(a int, b int) int {
     return a + b
}
Copier après la connexion

Cette fonction s'appelle sum. Elle nécessite deux paramètres a et b de type int, et le type de valeur de retour est int. Le corps de la fonction comprend une instruction return pour renvoyer la somme de a et b.

La fonction est appelée comme suit :

c := sum(1, 2) //c的值为3
Copier après la connexion

2. Méthodes

Les méthodes sont des fonctions associées à un type spécifique. Dans Golang, l'approche consiste à placer des définitions de fonctions spécifiques au type sur votre propre type afin que ces fonctions soient appelées sur toutes les instances de ce type.

Les méthodes sont définies comme des fonctions, mais avec un paramètre récepteur supplémentaire. Il indique à la méthode sur quel type de valeur appeler. La syntaxe générale de la méthode est la suivante :

func (接收器变量 接收器类型) 方法名(参数列表)(返回值类型){
     函数体
}
Copier après la connexion

Voici un exemple simple :

type Person struct {
     Name string
     Age  int
}

func (p Person) SayHello() string {
     return "Hello, my name is " + p.Name
}

func main() {
     p := Person{Name: "Tom", Age: 18}
     fmt.Println(p.SayHello()) //输出结果为 "Hello, my name is Tom"
}
Copier après la connexion

Dans cet exemple, nous définissons une structure de type Person et définissons une méthode SayHello sur celle-ci. La méthode définit le type de récepteur sur le type Personne, indiquant que la méthode est appelée sur toutes les instances.

Nous créons une instance Person nommée p puis appelons sa méthode SayHello. Il renverra une chaîne représentant le nom de l'instance.

3. La différence entre les fonctions et les méthodes

  1. Une fonction est un morceau de code qui peut être appelé n'importe où, tandis qu'une méthode est un code associé à un type spécifique.
  2. Les méthodes doivent être appelées via l'objet auquel elles appartiennent, tandis que les fonctions peuvent être appelées directement.
  3. Les méthodes peuvent accéder aux données privées de l'objet, mais pas les fonctions.
  4. Les méthodes ont des paramètres de récepteur, pas les fonctions.
  5. Les méthodes peuvent être remplacées, mais pas les fonctions.

4. Résumé

Les méthodes et fonctions Golang sont les composants de base de la création de programmes Golang. Une fonction est un bloc de code indépendant et réutilisable qui peut être appelé par n’importe qui, n’importe où. Une méthode, quant à elle, est un bloc de code associé à un type spécifique et ne peut être appelée que via un objet de ce type.

En apprenant les méthodes et les fonctions, nous pouvons mieux programmer et développer. Si vous souhaitez en savoir plus sur Golang en détail, veuillez lire la documentation et les didacticiels Golang pertinents.

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