Por que existem duas maneiras de declarar variáveis no Go, qual é a diferença e qual usar?

De acordo com a referência Go, existem duas maneiras de declarar uma variável

Declarações_variáveis (no formato devar count = 0 ouvar count int)
e
Declarações_variáveis_ curtas (no formato decount := 0)

Eu achei muito confuso decidir qual usar.

As diferenças que eu sei (até agora) são as seguintes:

Eu só posso usar umcount := 0 formato quando no escopo de uma função.count := 0 pode serdeclarado em umdeclaração curta multi-variável.

Mas eles se comportam da mesma maneiraaté onde sei. E na referência tambémdiz:

(Ocount:=0caminho) éforma abreviada para uma declaração de variável regular com expressões do inicializador, mas sem tipos

Minhas confusões são:

Se um é apenas o caminho abreviado do outro, por que eles se comportam de maneira diferente?Em que preocupação o autor de Go cria duas maneiras de declarar uma variável (por que elas não são mescladas de uma maneira)? Só para nos confundir?Existe algum outro aspecto que eu deva manter meus olhos abertos ao usá-los, caso caia em uma cova?

questionAnswers(1)

yourAnswerToTheQuestion