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
)