"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Vá ":=" vs. "=": Quando usar declarações curtas de variáveis?

Vá ":=" vs. "=": Quando usar declarações curtas de variáveis?

Publicado em 2024-12-22
Navegar:711

Go

Compreendendo a distinção entre ":=" e "=" em Go

Como um novato em Go, você pode ficar perplexo com o uso aparentemente intercambiável de ":=" e "=" para atribuições de variáveis. No entanto, há uma diferença sutil que gira em torno do contexto das declarações de variáveis.

A função de "="

Em Go, "=" é empregado principalmente para atribuições variáveis. Ele segue a sintaxe de “var name type = expression”, onde “name” representa a variável que está sendo atribuída. Crucialmente, o tipo ou a expressão de atribuição podem ser omitidos, mas não ambos.

A natureza de ":="

Em contraste, ":=" denota curto declaração de variável, que segue o formato "nome:= expressão". Aqui, o ":=" atua como um operador combinado de declaração e atribuição. O tipo de "nome" é inferido automaticamente a partir do tipo de "expressão".

Distinguindo entre declaração e atribuição

A principal diferença está no objetivo principal de cada operador. ":=" é apenas para declaração, enquanto "=" é usado para atribuição. Portanto, declarações curtas de variáveis ​​​​devem invariavelmente introduzir pelo menos uma variável inteiramente nova dentro do bloco lexical atual.

Exemplos de uso

Para ilustrar a distinção, considere os seguintes exemplos :

  1.   var x int = 1

    Esta instrução declara uma variável inteira "x" e a inicializa com o valor 1.

  2.   r := foo()

    Esta é uma breve declaração de variável que atribui o valor de retorno da função "foo()" à variável recém-criada "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)
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3