Constants and Zero Values
Oldingi darsda := — Go'ning qisqa usulini ishlatdingiz. Yana var kalit so'zi ham bor:
var name string = "Gopher"
var count intvar turini aniq ko'rsatish imkonini beradi. Qiymatni tashlab ketsangiz, masalan var count int, Go unga nol qiymat (zero value) beradi. Aniqlanmagan chiqindi (garbage) bo'lmaydi.
Har bir turning o'z nol qiymati bor:
| TUR | NOL QIYMAT |
|---|---|
int | 0 |
string | "" |
bool | false |
float64 | 0.0 |
Nega aniq tur belgilash kerak? Ba'zan Go'ning avtomatik aniqlashi sizga kerak bo'lmagan turni tanlaydi. Masalan, := son bilan ishlatilganda doim int beradi, lekin sizga kichikroq tur kerak bo'lishi mumkin:
var port uint16 = 8080 // uint16, int emas
var ratio float32 = 0.5 // float32, float64 emasEndi, ba'zi qiymatlar hech qachon o'zgarmasligi kerak. Maksimal urinishlar soni yoki dasturingiz nomini o'ylab ko'ring. Agar kimdir bularni dastur davomida tasodifan qayta belgilasa, narsalar sezilmas tarzda buziladi. const buni kompilyatsiya vaqtida oldini oladi:
const MaxRetries = 3
const AppName = "LevelUpGo"
MaxRetries = 5 // kompilyatsiya xatosi: MaxRetries ga qiymat berib bo'lmaydiAgar qiymat kompilyatsiya vaqtida ma'lum bo'lsa va o'zgarmas qolishi kerak bo'lsa, const dan foydalaning. Kompilyator xatolarni kodingiz ishga tushishidan oldin aniqlaydi.
>_ Exercise
var va const ikkalasidan foydalanib, ilova konfiguratsiyasini sozlang.
- •
"LevelUpGo"qiymatliAppNamekonstantasini e'lon qiling - •
100qiymatliMaxUserskonstantasini e'lon qiling - •
intturidagicurrentUserso'zgaruvchisini e'lon qiling (qiymat bermang, nol qiymatidan foydalansin)
So'ng aynan quyidagicha chop eting:
LevelUpGo: 0/100 usersStuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
- •
:=dan funksiyalar ichida foydalaning. Bu qisqaroq va Go turini o'zi aniqlaydi. - •Aniq tur kerak bo'lganda yoki paket darajasida (funksiyadan tashqarida),
:=ruxsat etilmagan joydavardan foydalaning. - •Qiymat hech qachon o'zgarmasligi kerak bo'lganda
constdan foydalaning.
NEXT UP
Math That Makes Sense
$ go run main.go
Kodingizni ishga tushiring