"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Vaya ":=" vs. "=": ¿Cuándo utilizar declaraciones de variables cortas?

Vaya ":=" vs. "=": ¿Cuándo utilizar declaraciones de variables cortas?

Publicado el 2024-12-22
Navegar:791

Go

Comprender la distinción entre ":=" y "=" en Go

Como principiante en Go, es posible que te quedes perplejo por la uso aparentemente intercambiable de ":=" y "=" para asignaciones de variables. Sin embargo, existe una diferencia sutil que gira en torno al contexto de las declaraciones de variables.

La función de "="

En Go, "=" se emplea principalmente para asignaciones de variables. Se adhiere a la sintaxis de "var nombre tipo = expresión", donde "nombre" representa la variable que se asigna. Fundamentalmente, se puede omitir el tipo o la expresión de asignación, pero no ambos.

La naturaleza de ":="

En contraste, ":=" denota breve declaración de variable, que sigue el formato "nombre: = expresión". Aquí, ":=" actúa como un operador combinado de declaración y asignación. El tipo de "nombre" se infiere automáticamente del tipo de "expresión".

Distinguir entre declaración y cesión

La diferencia clave radica en el propósito principal de cada operador. ":=" es únicamente para declaración, mientras que "=" se usa para asignación. Por lo tanto, las declaraciones de variables breves deben introducir invariablemente al menos una variable completamente nueva dentro del bloque léxico actual.

Ejemplos de uso

Para ilustrar la distinción, considere los siguientes ejemplos :

  1.   var x int = 1

    Esta declaración declara una variable entera "x" e inicializa con el valor 1.

  2.   r := foo()

    Esta es una breve declaración de variable que asigna el valor de retorno de la función "foo()" a la variable recién creada "r."

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)
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3