Dart Typing 💫 🌌 ✨

Dart, tip kontrolünü iki farklı zamanda gerçekleştirir:
• Kod derlendiğinde (kod yeniden yüklenir/veya önceden derlenir).
• Kod çalıştırıldığında (runtime).

Static Tipler

• int: Tamsayılar
• double: Ondalık sayılar(çift hassasiyet)
• bool: Boolean tr…


This content originally appeared on DEV Community and was authored by Gülsen 🦋

Dart, tip kontrolünü iki farklı zamanda gerçekleştirir:
• Kod derlendiğinde (kod yeniden yüklenir/veya önceden derlenir).
• Kod çalıştırıldığında (runtime).

Static Tipler

int: Tamsayılar
double: Ondalık sayılar(çift hassasiyet)
bool: Boolean true ya da false
String : Immutable (değişmez) string
StringBuffer: Mutable(değişken) string
RegExp: Düzenli ifadeler
List, Map, Set: Koleksiyon class'ları
DateTime
Duration: Bir zaman aralığı
Uri: Identifier
Error: Hata bilgisi

Dynamic Tipler (aka Untyped)

Tür bilgisi olmayan değişkenleri var veya dynamic anahtar kelimelerini kullanarak tanımlayabilirsiniz.

İkisinin arasında ince bir fark vardır:

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 çalıştığınızda aşağıdaki hatayı alırsınız:

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 methodların bir tür döndürmesi gerekmesi ve var döndürememesidir. Bir tür belirtmeniz gerekir.

Tip Çıkarımı (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 Eşleştirme

Dart, kullanıcıların 'is' anahtar sözcüğünü kullanarak tipleri kontrol etmesine olanak tanır.

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 Integer
Its a String

Tip Bilgileri

Çalışma zamanında runtimeType özelliğini kullanarak bir nesnenin tipine erişebilirsiniz.

void main() {
var v1 = 10;
print(v1.runtimeType);
var v2 = 'hello';
print(v2.runtimeType);
}

Çıktı:

int
String

Resource: Learn Google Flutter Fast - Mark Clow ✨


This content originally appeared on DEV Community and was authored by Gülsen 🦋


Print Share Comment Cite Upload Translate Updates
APA

Gülsen 🦋 | Sciencx (2022-04-24T20:59:33+00:00) Dart Typing 💫 🌌 ✨. Retrieved from https://www.scien.cx/2022/04/24/dart-typing-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/

MLA
" » Dart Typing 💫 🌌 ✨." Gülsen 🦋 | Sciencx - Sunday April 24, 2022, https://www.scien.cx/2022/04/24/dart-typing-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/
HARVARD
Gülsen 🦋 | Sciencx Sunday April 24, 2022 » Dart Typing 💫 🌌 ✨., viewed ,<https://www.scien.cx/2022/04/24/dart-typing-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/>
VANCOUVER
Gülsen 🦋 | Sciencx - » Dart Typing 💫 🌌 ✨. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/04/24/dart-typing-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/
CHICAGO
" » Dart Typing 💫 🌌 ✨." Gülsen 🦋 | Sciencx - Accessed . https://www.scien.cx/2022/04/24/dart-typing-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/
IEEE
" » Dart Typing 💫 🌌 ✨." Gülsen 🦋 | Sciencx [Online]. Available: https://www.scien.cx/2022/04/24/dart-typing-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/. [Accessed: ]
rf:citation
» Dart Typing 💫 🌌 ✨ | Gülsen 🦋 | Sciencx | https://www.scien.cx/2022/04/24/dart-typing-%f0%9f%92%ab-%f0%9f%8c%8c-%e2%9c%a8/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.