Dart Typing
Dart, tip kontroln iki farkl zamanda gerekletirir:
Kod derlendiinde (kod yeniden yklenir/veya nceden derlenir).
Kod altrldnda (runtime).
Static Tipler
int
: Tamsaylar
double
: Ondalk saylar(ift hassasiyet)
bool
: Boolean true ya da false
String
: Immutable (deimez) string
StringBuffer
: Mutable(deiken) string
RegExp
: Dzenli ifadeler
List, Map, Set
: Koleksiyon class'lar
DateTime
Duration
: Bir zaman aral
Uri
: Identifier
Error
: Hata bilgisi
Dynamic Tipler (aka Untyped)
Tr bilgisi olmayan deikenleri var
veya dynamic
anahtar kelimelerini kullanarak tanmlayabilirsiniz.
kisinin arasnda ince bir fark vardr:
void main() {print (multiplyMethod1(2,4));print (multiplyMethod2(2,4));}dynamic multiplyMethod1(int a, int b){return a * b;}var multiplyMethod2(int a, int b){return a * b;}
Bu kodu derlemeye altnzda aadaki hatay alrsnz:
Error compiling to JavaScript: main.dart:10:1: Error: The return type can't be 'var'. var multiplyMethod2(int a, int b){ ^^^ Error: Compilation failed.
Bunun nedeni methodlarn bir tr dndrmesi gerekmesi ve var
dndrememesidir. Bir tr belirtmeniz gerekir.
Tip karm (Type Inference)
rnek 1:
void main() {dynamic x = 1;if (x is int){print('integer');}}
Output:
integer
rnek 2:
void main() {dynamic x = 'test';if (x is String){print('String');}x += 1;}
Output:
String Uncaught exception: TypeError: 1: type 'JSInt' is not a subtype of type 'String'
Tip Eletirme
Dart, kullanclarn 'is' anahtar szcn kullanarak tipleri kontrol etmesine olanak tanr.
main(){printType(23);printType('mark');}printType(dynamic d){if (d is int){print ('Its an Integer');}if (d is String){print ('Its a String');}}
Output:
Its an IntegerIts a String
Tip Bilgileri
alma zamannda runtimeType zelliini kullanarak bir nesnenin tipine eriebilirsiniz.
void main() {var v1 = 10;print(v1.runtimeType);var v2 = 'hello';print(v2.runtimeType);}
kt:
intString
Resource: Learn Google Flutter Fast - Mark Clow
Original Link: https://dev.to/gulsenkeskin/dart-typing-74k
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To