Sobes.tech
Junior

Millised on erinevused kiire muutuja deklaratsiooni ja deklaratsiooni vahel, kasutades märksõna var?

sobes.tech AI

Vastus AI-lt

Kiire deklaratsioon (:=) on võimalik ainult funktsioonide sees ja on lühendatud vorm deklaratsioonist ja initsialiseerimisest. Võtmesõna var võimaldab deklareerida muutujaid mis tahes tüüpi, ilma initsialiseerimiseta (saavad nullväärtuse) või koos initsialiseerimisega ning ka paketi tasandil.

Peamised erinevused:

Omadus Kiire deklaratsioon (:=) Deklaratsioon var-iga
Kasutuskohad Ainult funktsioonide sees Funktsioonide ja paketi tasandil
Initsialiseerimise vajadus Kohustuslik, kompilaator järeldab tüübi Mitte kohustuslik, muutuja saab nullväärtuse
Mitmekordne deklaratsioon Võimalik mitme muutuja puhul Võimalik mitme muutuja puhul
Korduv deklaratsioon Ei, kui muutuja juba eksisteerib (ainult omistamine) Jah, aga ainult tüübi määramisega
Tüübi selge määramine Ei, kompilaator järeldab Jah, kui initsialiseerimine puudub

Näide kiirest deklaratsioonist:

// Kasutaja muutuja initsialiseerimine ja deklaratsioon
user := "Alice"

Näide var-iga:

// Vanuse muutuja deklaratsioon ilma initsialiseerimiseta (saab väärtuse 0)
var age int

// Linna muutuja deklaratsioon ja initsialiseerimine
var city string = "New York"

// Mitme muutuja deklaratsioon
var (
	x, y int = 1, 2
	name string
)