다트 타이핑 💫 🌌 ✨

2974 단어 staticdynamictypedart
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(런타임).

정적 팁러

int : 탐사일라르
double : Ondalık sayılar(çift hassasiyet)
bool : 부울 true ya da false
String : 불변(değişmez) 문자열
StringBuffer : 가변(değişken) 문자열
RegExp : Düzenli ifadeler
List, Map, Set : Koleksiyon class'ları
DateTimeDuration : 당신의 삶을 살다
Uri : 식별자
Error : 하타 빌기시

동적 티플러(Untyped라고도 함)

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

이 키신 인 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ı (유형 추론)
Örnek 1:

void main() {
dynamic x = 1;
if (x is int){
print('integer');
}
}



산출:

integer


Örnek 2:

void main() {
dynamic x = 'test';
if (x is String){
print('String');
}
x += 1;
}


산출:

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');
}
}


산출:

Its an Integer
Its a String


팁 빌길레리

Ç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);
}


차크티:

int
String


리소스: 빠르게 Google Flutter 배우기 - Mark Clow ✨

좋은 웹페이지 즐겨찾기