O'zgaruvchilar va konstantalar
Dart tilida ma'lumotlarni saqlash uchun, boshqa dasturlash tillarida bo'lgani kabi, o'zgaruvchilar ishlatiladi. O'zgaruvchi quyidagicha aniqlanadi:
1
|
Тип_данных имя_переменной;
|
Ma'lumotlar turi dasturchi tomonidan belgilangan o'rnatilgan turlardan yoki turlardan birini ifodalaydi. Oʻzgaruvchi nomi — ixtiyoriy nom boʻlib, unda alfanumerik belgilar va pastki chiziq belgisi boʻlishi mumkin va u til kalit soʻzlaridan biriga mos kelmasligi kerak: abstrakt, else, import, super, as, enum, in, switch, assert, export, interface, sync. , async, extensions, is, this, kutish, kengaytma, kutubxona, tashlash, sindirish, tashqi, aralash, rost, holat, zavod, yangi, urinib ko‘ring, tuting, noto‘g‘ri, null, typedef, sinf, yakuniy, on, var, const , nihoyat, operator, bekor, davom, uchun, qism, esa, kovariant, Funktsiya, qayta o'rnatish, bilan, sukut, olish, qaytarish, hosil qilish, kechiktirilgan, yashirish, o'rnatish, qilish, agar, ko'rsatish, dinamik, amalga oshiradi, statik
Masalan, String tipidagi o'zgaruvchi nomini aniqlash:
O'zgaruvchilarni nomlash uchun smallCamelCase uslubi qo'llaniladi, ya'ni o'zgaruvchining nomi kichik harf bilan boshlanadi. Agar o'zgaruvchining nomi ikki yoki undan ortiq so'zdan iborat bo'lsa, birinchi so'z kichik harf bilan boshlanadi va barcha keyingi so'zlar bosh harf bilan boshlanadi, masalan, userAge yoki oldUserAge.
O'zgaruvchan qiymat
Tayinlash operatsiyasidan foydalanib, o'zgaruvchiga uning turiga mos keladigan qiymat berilishi mumkin. Masalan, String turi qatorni ifodalaydi. Shunga ko'ra, biz ushbu turdagi o'zgaruvchiga satr belgilashimiz mumkin:
1
2
3
4
5
6
|
void main() {
String name = "Tom";
print(name);
name = "Bob";
print(name);
}
|
Konsol chiqishi:
Tom
Bob
var
Oʻzgaruvchini aniqlash uchun var kalit soʻzidan ham foydalanishingiz mumkin:
Bunday holda, Dartning o'zi o'zgaruvchining turini unga tayinlangan qiymatdan kelib chiqqan holda chiqaradi.
O'zgaruvchini aniqlashning yana bir usuli - dinamik operatordan foydalanish.
Bu operator, xuddi var kabi, o'zgaruvchining turini unga berilgan qiymatdan kelib chiqib xulosa chiqarish imkonini beradi. Ammo vardan farqli o'laroq, dinamik o'zgaruvchining turini o'zgartirishga imkon beradi. Misol uchun, agar quyidagi holatda, dasturni bajarishda biz xatoga duch kelamiz:
1
2
3
4
5
6
|
void main() {
var name = "Tom";
print(name);
name = 45; // Ошибка!!! name представляет строки, а не целые числа
print(name);
}
|
Bunda o'zgaruvchi nomiga ("Tom" qatori) tayinlangan boshlang'ich qiymatdan kelib chiqib, satrlarni ifodalovchi String turini aniqlaydi. Biroq, bundan keyin biz o'zgaruvchiga raqamni belgilashga harakat qilamiz - 45. Bu qiymat satr emas, shuning uchun u String turi uchun haqiqiy qiymatlar oralig'iga mos kelmaydi - nom o'zgaruvchisi turi, shuning uchun dastur xato qiladi.
Ma'lumotlar turini dinamik ravishda o'zgartirish uchun dinamik operator ishlatiladi. Shunday qilib, quyidagi dastur xatosiz ishlaydi:
1
2
3
4
5
6
|
void main() {
dynamic name = "Tom";
print(name);
name = 45;
print(name);
}
|
doimiy va yakuniy
O'zgaruvchilarning ajralib turadigan fazilatlaridan biri shundaki, dastur davomida biz ularning qiymatini xohlagancha o'zgartirishimiz mumkin:
1
2
3
4
5
6
7
8
|
void main() {
var name = "Tom";
print(name); // Tom
name = "Bob";
print(name); // Bob
name = "Sam";
print(name); // Sam
}
|
Agar o'zgaruvchining qiymatini o'zgartirish kerak bo'lmasa va ba'zan hatto nomaqbul bo'lsa, u holda o'zgaruvchilar o'rniga doimiylardan foydalanish mumkin. Konstantalar const va final operatorlari yordamida aniqlanadi:
1
2
3
4
5
6
|
void main (){
const name = "Tom";
print(name); // Tom
//name = "Bob"; // Ошибка - значение константы нельзя изменять!
}
|
Agar biz konstantaning qiymatini nomlashga harakat qilsak, u holda dasturni kompilyatsiya qilish jarayonida xatolikka duch kelamiz. Finaldan foydalanish shunga o'xshash:
1
2
3
4
5
6
|
void main (){
final name = "Tom";
print(name); // Tom
//name = "Bob"; // Ошибка - значение константы нельзя изменять!
}
|
const va final o'rtasidagi asosiy farq shundaki, const qiymati kompilyatsiya vaqtida aniqlanishi kerak va doimiy final qiymati ish vaqtida aniqlanadi. Asosiy funktsiya kontekstida const yoki yakuniy konstantalarni belgilash va qo'llashda ular o'rtasida unchalik katta farq yo'q, lekin boshqa kontekstlarda (masalan, boshqa funktsiyalar va sinflardan foydalanganda) ba'zi sintaktik farqlar mavjud bo'lib, ular keyingi maqolalarda muhokama qilinadi. tegishli mavzular.
Konstantalarni aniqlash variantlari:
1
2
3
4
5
6
7
8
|
void main (){
const a = 5;
const int b = 6;
final int c = 8;
final d = 9;
print("a:$a b:$b c:$c d:$d");
}
|
Konsolga chiqarish uchun, bu holda, $ belgisidan keyin qiymati konsolga chiqariladigan o'zgaruvchining nomini ko'rsatishga imkon beruvchi interpolyatsiya qo'llaniladi.
Do'stlaringiz bilan baham: |