Исходя из фона в Java и C# Я очень доволен краткостью способности Golang на использование метода быстрого доступа для объявления переменных для частных переменных внутри функций, что позволяет мне писать:Объявление переменной Ярлык вне функции
x := 1.5
Это напоминает мне утиную печать на динамическом языке, таком как Python. Однако, в объявлении глобальных переменных за пределами сферы действия функции вы по-прежнему необходимо использовать более подробный синтаксис:
var x float64 = 1.5
Я просто интересно, почему метод работает ярлык для частных переменных и не глобал? Я знаю, что разработчики языка достаточно опытные, поэтому я предполагаю, что это не отражает недостающую особенность. Есть ли техническая причина, почему такой тип вывода (и я понимаю, что: = ярлык не совпадает с правильным типом вывода) не будет работать в глобальной области? Это просто кажется несколько противоречивым с точки зрения дизайна, и как неопытный Гофер, я должен признать, что его отбрасывают пару раз. В целом, однако, я действительно наслаждаюсь Go.
Потому что все объявления уровня пакета начинаются с ключевого слова (импорт, тип, func, const, var и т. Д.). – thwd
@divan. Вы правы, похоже, это по тому же пути, что и мой вопрос. Я искал, прежде чем спрашивать об этом, но почему-то не столкнулся с этим. Извинения за дублирование. Я бы удалил свой вопрос, но теперь есть ответы, поэтому я не думаю, что это возможно. Я уверен, что он будет отмечен как дубликат в ближайшее время. – user1503949