Maison > développement back-end > Golang > Go's `:=` vs `=` : quand utiliser quel opérateur d'affectation ?

Go's `:=` vs `=` : quand utiliser quel opérateur d'affectation ?

Barbara Streisand
Libérer: 2024-12-08 08:44:10
original
394 Les gens l'ont consulté

Go's `:=` vs `=`: When to Use Which Assignment Operator?

:= vs = in Go : un guide complet

En tant que novice en programmation Go, vous avez peut-être remarqué une dualité intrigante entre := et =. Alors que := était supposé être l'équivalent Go du = de Python, l'utilisation de = dans Go semble également fonctionner.

Comprendre l'opérateur d'affectation (=)

L'opérateur = in Go sert d'opérateur d'affectation, attribuant des valeurs aux variables. Sa syntaxe générale est :

variable = expression
Copier après la connexion

Par exemple :

var x = 10
y := 20
Copier après la connexion

Dans l'exemple ci-dessus, x reçoit la valeur 10 et y reçoit la valeur 20.

Explorer les déclarations de variables avec :=

:= sert de déclaration de variable courte, qui prend le forme suivante :

name := expression
Copier après la connexion

Le type de nom est automatiquement déduit en fonction de l'expression. Par exemple :

a := 10 // a is of type int
b := 3.14 // b is of type float64
Copier après la connexion

Distinction clé : Déclaration vs Affectation

La différence cruciale entre := et = réside dans leurs rôles. := est une déclaration introduisant une nouvelle variable, tandis que = est une affectation attribuant une valeur à une variable existante. Cela signifie que := doit toujours déclarer au moins une nouvelle variable.

Scénarios d'utilisation

:= peut être utilisé dans les scénarios suivants :

  • Déclarer une nouvelle variable
  • Déclarations de variables multiples avec différents types
  • Déclaration de variables temporaires locales dans des instructions comme if, for et switch

Exceptions

  • := ne peut pas apparaître à l'extérieur fonctions.
  • := ne peut pas être utilisé pour déclarer des variables dont les types ou les valeurs sont déjà spécifiés dans le lexical environnant bloc.

Ressources supplémentaires

  • [Déclarations de variables](https://go.dev/ref/spec#Variable_declarations)
  • [Variable courte Déclarations](https://go.dev/ref/spec#Short_variable_declarations)

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal