Maison > développement back-end > Golang > Allez ':=' contre '=' : quand utiliser des déclarations de variables courtes ?

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

Mary-Kate Olsen
Libérer: 2024-12-11 21:13:13
original
401 Les gens l'ont consulté

Go

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

En tant que novice en Go, vous pourriez être perplexe face au 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ésigne 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
    Copier après la connexion

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

  2.   r := foo()
    Copier après la connexion

    Il s'agit d'une courte déclaration de variable qui attribue la valeur de retour de la fonction "foo()" à la 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)
Copier après la connexion

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