Почему существует два способа объявления переменных в Go, в чем разница и что использовать?

Согласно ссылке Go, есть два способа объявления переменной

Variable_declarations (в форматеvar count = 0 или жеvar count int)
а также
Short_variable_declarations (в форматеcount := 0)

Я обнаружил, что очень сложно решить, какой из них использовать.

Различия, которые я знаю (до сих пор):

Я могу только с помощьюcount := 0 формат, когда в объеме функции.count := 0 может бытьповторно объявлен вкраткая краткая декларация.

Но они ведут себя одинаковонасколько я знаю, И в ссылке это такжеговорит:

Это (count:=0путь)стенография для объявления обычной переменной с выражениями инициализатора, но без типов

Мои заблуждения:

Если один - это просто сокращенный путь другого, почему они ведут себя по-разному?В связи с чем автор Go делает два способа объявления переменной (почему они не объединены в один способ)? Просто чтобы сбить нас с толку?Есть ли какой-то другой аспект, на который я должен держать глаза открытыми при использовании их, на случай, если я упаду в яму?

Ответы на вопрос(1)

Ваш ответ на вопрос