Turi
|
So'zma-so'z misol
|
Int
|
10 , 1 , -1 , 5 , va 0
|
Double
|
10.1 , 1.2 , 3.123 , va - 1.2
|
Bool
|
rost va yolg'on
|
String
|
"Dart" , "Dash" , va """ ko'p qatorli """ qatori
|
List
|
[1,2,3] va ["bir", "ikki", "uch"]
|
Map
|
{"key1": "val1", "b": 2}
|
Turi xulosa chiqarish - olib kelish dinamizm uchun the ko'rsatish
In the oldingi misollar, biz namoyish qilgan ikki yo'llari ning e'lon qilish o'zgaruvchilar: tomonidan foydalanish o'zgaruvchining turi, masalan, int va String yoki var yordamida kalit so'z.
Shunday qilib, hozir siz mumkin bo'l hayron Qanday Dart biladi nima turi ning o'zgaruvchan bu hisoblanadi agar siz buni deklaratsiyada ko'rsatmang.
Kimdan the Dart hujjatlar ( https:/ / dart. dev/ guides/ language/ effect- dart/ hujjatlar ), quyidagi bayonotni ko'rib chiqing:
"Analizator maydonlar, usullar, mahalliy o'zgaruvchilar va eng umumiy turdagi argumentlar uchun turlarni aniqlashi mumkin. Qachon the analizator qilmaydi bor yetarli ma `lumot uchun xulosa chiqarish a xos turi, u dinamik turdan foydalanadi."
Bu anglatadi bu, qachon siz e'lon qilish a o'zgaruvchan, the Dart analizator bo'ladi xulosa chiqarish the turi asoslangan literal yoki ob'ekt konstruktorida.
Bu yerda hisoblanadi a misol:
import 'dart:mirrors';
main() {
var someInt = 1;
print(reflect(someInt).type.reflectedType.toString()); // prints: int
}
Sifatida siz mumkin qarang, ichida bu misol biz bor faqat the var kalit so'z. Biz qilmadi belgilang har qanday turi, lekin biz int ishlatganimizdek literal ( 1 ), analizator vositasi turni muvaffaqiyatli aniqlashi mumkin.
Mahalliy o'zgaruvchilar olish the turi xulosa qilingan tomonidan the analizator ichida the ishga tushirish. In the oldingi misol, someInt -ga string qiymatini belgilashga harakat qilish muvaffaqiyatsiz bo'lardi.
Shunday qilib, ko'rib chiqaylik the quyidagi kod:
main() {
var a; // here we didn't initialized var so its
// type is the special dynamic
a = 1; // now a is a int
a = "a"; // and now a String
print(a is int); // prints false
print(a is String); // prints true
print(a is dynamic); // prints true
print(a.runtimeType); // prints String
}
Siz kabi ega bo'lishi mumkin e'tibor bergan, a String hisoblanadi turi va dinamik turi. dinamik maxsus turi hisoblanadi va bu mumkin faraz qilmoq har qanday turi da ish vaqti; shuning uchun, har qanday qiymat mumkin bo'l quyma uchun dinamik ham.
Dart mumkin xulosa chiqarish turlari uchun dalalar, usuli qaytaradi, va umumiy turi argumentlar; qilamiz Ushbu kitobning tegishli bo'limlarida har birini batafsilroq o'rganing.
Do'stlaringiz bilan baham: |