В чем различия между быстрым объявлением переменной и объявлением через ключевое слово var?

Быстрое объявление (:=) возможно только внутри функций и является сокращенной формой объявления и инициализации.

Короткий ответ

Что ответить на собеседовании

Быстрое объявление (:=) возможно только внутри функций и является сокращенной формой объявления и инициализации. Ключевое слово var позволяет объявлять переменные любого типа, без инициализации (получат нулевое значение) или с инициализацией, а также на уровне пакета.

Подробный разбор

Ответ с пояснениями

Быстрое объявление (:=) возможно только внутри функций и является сокращенной формой объявления и инициализации. Ключевое слово var позволяет объявлять переменные любого типа, без инициализации (получат нулевое значение) или с инициализацией, а также на уровне пакета.

Основные различия:

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

Пример быстрого объявления:

// Инициализация и объявление переменной user
user := "Alice"

Пример объявления через var:

// Объявление переменной age без инициализации (получит значение 0)
var age int

// Объявление и инициализация переменной city
var city string = "New York"

// Объявление нескольких переменных
var (
	x, y int = 1, 2
	name string
)

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее