Sobes.tech
Junior

Quais são as diferenças entre uma declaração rápida de variável e uma declaração usando a palavra-chave var?

sobes.tech IA

Resposta da IA

A declaração rápida (:=) só é possível dentro de funções e é uma forma abreviada de declarar e inicializar. A palavra-chave var permite declarar variáveis de qualquer tipo, sem inicialização (receberão um valor nulo) ou com inicialização, e também ao nível do pacote.

Principais diferenças:

Característica Declaração rápida (:=) Declaração com var
Local de uso Apenas dentro de funções Dentro de funções e ao nível do pacote
Necessidade de inicialização Obrigatória, o compilador infere o tipo Não obrigatória, a variável recebe um valor nulo
Declaração múltipla Possível para várias variáveis Possível para várias variáveis
Re-declaração Não, se a variável já existir (apenas atribuição) Sim, mas apenas especificando o tipo
Especificação explícita do tipo Não, o compilador infere Sim, se não houver inicialização

Exemplo de declaração rápida:

// Inicialização e declaração da variável user
user := "Alice"

Exemplo de declaração com var:

// Declaração da variável age sem inicialização (receberá o valor 0)
var age int

// Declaração e inicialização da variável city
var city string = "New York"

// Declaração de várias variáveis
var (
	x, y int = 1, 2
	name string
)