Переменные, объявления переменных
Переменные являются именованными значениями. Переменные сохраняются в памяти во время выполнения. Значение, представленное переменной, может быть изменено во время выполнения.
Все переменные являются типизированными значениями. При объявлении переменной должно быть предоставлено достаточно информации, чтобы компиляторы могли определить тип переменной.
Переменные, объявленные в телах функций, называются локальными переменными. Переменные, объявленные вне тела любой функции, называются переменными уровня пакета. Мы также часто называем переменные уровня пакета глобальными переменными.
Существуют две основные формы объявления переменных: стандартная и краткая. Краткая форма может использоваться только для объявления локальных переменных.
Стандартные формы объявления переменных
Каждое стандартное объявление начинается с ключевого слова var, за которым следует объявленное имя переменной. Имена переменных должны быть идентификаторами.
Ниже приведены некоторые полные стандартные формы декларации. В этих объявлениях указываются типы и начальные значения объявленных переменных.
Как мы обнаружили, несколько переменных могут быть объявлены вместе в одном объявлении переменной. Обрати внимание, что в объявлении переменной может быть указан только один тип. Таким образом, типы нескольких переменных, объявленных в одной строке объявления, должны быть идентичными.
Полные стандартные формы объявления переменных редко используются на практике, поскольку они многословны. На практике чаще используются две стандартные формы объявления переменных, представленные ниже. В двух вариантах либо типы, либо начальные значения объявленных переменных отсутствуют.
Ниже приведены некоторые стандартные объявления переменных без указания типов переменных. Компиляторы выведут типы объявленных переменных как типы (или типы по умолчанию) их соответствующих начальных значений. Следующие объявления фактически эквивалентны приведенным выше. Обрати внимание, что в следующих объявлениях типы нескольких переменных, объявленных в одной строке объявления, могут быть разными.
Выводы типов в приведенном выше примере можно рассматривать как неявные преобразования.
Ниже приведены некоторые стандартные объявления без указания начальных значений переменных. В этих объявлениях все объявленные переменные инициализируются нулевыми значениями соответствующих типов.
Несколько переменных можно сгруппировать в одно объявление стандартной формы с помощью (). Например:
Приведенный выше пример отформатирован с помощью go fmt команды, предоставленной в Go Toolchain. В приведенном выше примере каждая из трех строк заключена в () спецификацию переменной.
Как правило, совместное объявление связанных переменных делает код более читабельным.