В чем разница между long assign и short assign в Go

«В чем разница между long assign и short assign в Go» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go разница между длинным (var) и коротким (:=) объявлением переменных:

  1. Область видимости:

    • var работает в любом месте функции
    • := работает только внутри функций
  2. Инициализация:

    • var позволяет объявить без инициализации (значение по умолчанию)
    • := требует немедленной инициализации
  3. Типизация:

    • var позволяет явно указать тип
    • := выводит тип автоматически

Пример:

func main() {
    var x int      // Длинное объявление
    y := 42        // Короткое объявление
    var z = "hello" // С выводом типа

    fmt.Printf("%T %T %T", x, y, z) // int int string
}