"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Allez ":=" contre "=" : quand utiliser des déclarations de variables courtes ?

Allez ":=" contre "=" : quand utiliser des déclarations de variables courtes ?

Publié le 2024-12-22
Parcourir:266

Go

Comprendre la distinction entre ":=" et "=" dans Go

En tant que novice en Go, vous pourriez être perplexe face à la utilisation apparemment interchangeable de ":=" et "=" pour les affectations de variables. Cependant, il existe une différence subtile qui tourne autour du contexte des déclarations de variables.

Le rôle de "="

Dans Go, "=" est principalement utilisé pour affectations de variables. Il adhère à la syntaxe de « var name type = expression », où « name » représente la variable affectée. Surtout, le type ou l'expression d'affectation peuvent être omis, mais pas les deux.

La nature de ":="

En revanche, ":=" dénote un court déclaration de variable, qui suit le format "nom := expression". Ici, le ":=" agit comme un opérateur combiné de déclaration et d'affectation. Le type de « nom » est automatiquement déduit du type d'« expression ».

Distinction entre déclaration et cession

La principale différence réside dans l'objectif principal de chacun opérateur. ":=" est uniquement destiné à la déclaration, tandis que "=" est utilisé pour l'affectation. Par conséquent, les déclarations de variables courtes doivent invariablement introduire au moins une variable entièrement nouvelle dans le bloc lexical actuel.

Exemples d'utilisation

Pour illustrer la distinction, considérons les exemples suivants :

  1.   var x int = 1

    Cette instruction déclare une variable entière "x" et l'initialise avec la valeur 1.

  2.   r := foo()

    Il s'agit d'une courte déclaration de variable qui attribue la valeur de retour de la fonction "foo()" au variable "r" nouvellement créée

This creates a new variable "m" and assigns a new value to the existing variable "r."

**Exceptions and Additional Information**

It's worth noting that ":=" can only be used within functions. However, it can declare temporary variables within the initializers of control structures like "if," "for," and "switch."

For further exploration, you can refer to the official Go documentation on:

* [Variable Declarations](https://go.dev/ref/spec#Variable_declarations)
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3