Sobes.tech
Junior

Jaké jsou rozdíly mezi rychlým deklarováním proměnné a deklarací pomocí klíčového slova var?

sobes.tech AI

Odpověď od AI

Rychlé oznámení (:=) je možné pouze uvnitř funkcí a je zkrácenou formou oznámení a inicializace. Klíčové slovo var umožňuje deklarovat proměnné libovolného typu, bez inicializace (obdrží nulovou hodnotu) nebo s inicializací, a také na úrovni balíčku.

Hlavní rozdíly:

Charakteristika Rychlé oznámení (:=) Oznámení přes var
Místo použití Pouze uvnitř funkcí Uvnitř funkcí a na úrovni balíčku
Nutnost inicializace Povinná, kompilátor odvodí typ Nepovinná, proměnná dostane nulovou hodnotu
Vícenásobné oznámení Možné pro více proměnných Možné pro více proměnných
Opakované oznámení Ne, pokud proměnná již existuje (pouze přiřazení) Ano, ale pouze s určením typu
Explicitní určení typu Ne, kompilátor odvodí Ano, pokud není inicializace

Příklad rychlého oznámení:

// Inicializace a oznámení proměnné user
user := "Alice"

Příklad oznámení přes var:

// Oznámení proměnné age bez inicializace (obdrží hodnotu 0)
var age int

// Oznámení a inicializace proměnné city
var city string = "New York"

// Oznámení více proměnných
var (
	x, y int = 1, 2
	name string
)