Sobes.tech
Junior
141
questionbank

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

Ответ от нейросети

sobes.tech AI

  • Быстрое объявление (:=) используется только внутри функций. Оно объявляет и инициализирует одну или несколько переменных. Тип переменных определяется автоматически на основе типа значения, которым они инициализируются.

  • Объявление с var может использоваться как внутри, так и вне функций.

    • Внутри функций оно позволяет объявить переменную без немедленной инициализации (получает нулевое значение для своего типа) или с инициализацией. Тип может быть указан явно.
    • Вне функций var используется для объявления переменных на уровне пакета. Здесь требуется либо явное указание типа, либо инициализация.

Пример:

package main

import "fmt"

var globalVar int // Объявление на уровне пакета, нулевое значение = 0

func main() {
	// Быстрое объявление внутри функции
	localVar := "Привет" // Тип определяется автоматически (string)
	anotherVar := 123     // Тип определяется автоматически (int)

	fmt.Println(localVar, anotherVar)

	// Объявление с var внутри функции
	var i int      // Объявление без инициализации, i = 0
	var j string   // Объявление без инициализации, j = ""
	var k float64 = 3.14 // Объявление с явным типом и инициализацией

	fmt.Println(i, j, k)

	// Использование globalVar
	globalVar = 100
	fmt.Println(globalVar)
}