Быстрое объявление (:=) возможно только внутри функций и является сокращенной формой объявления и инициализации. Ключевое слово var позволяет объявлять переменные любого типа, без инициализации (получат нулевое значение) или с инициализацией, а также на уровне пакета.
Основные различия:
| Характеристика | Быстрое объявление (:=) | Объявление через var |
|---|---|---|
| Место использования | Только внутри функций | Внутри функций и на уровне пакета |
| Необходимость инициализации | Обязательно, компилятор выводит тип | Необязательно, переменная получит нулевое значение |
| Множественное объявление | Возможно для нескольких переменных | Возможно для нескольких переменных |
| Повторное объявление | Нет, если переменная уже существует (только присваивание) | Да, но только с указанием типа |
| Явное указание типа | Нет, компилятор выводит | Да, если нет инициализации |
Пример быстрого объявления:
go
Пример объявления через var:
go