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
354 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!

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
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