// Implicit type = intvar myVariable =5;
// Explicit type: StringString name ="Kral";
// Dynamic type: dynamicdynamic dinamik ="Dynamic";
dinamik =5; // Valid// Constantfinal name ="Enes";
const name ="Enes";
// Anything that isn't known at // compile time // should be final over const.
// EnumenumColor { red, green, blue }
var aColor =Color.blue;
// aColor has index, hashCode & toString() parameters by default.// Enum cases can not contain associated values like in Swift.// Computed variables & Functions can't be added directly to the enum.// But they can be added via an extension.extensionDarkModeonColor {
Colorget darkModeAlternative {
switch (this) {
caseColor.blue:returnColor.red;
default:returnColor.blue;
}
}
}
// EnumenumclassColor {RED, GREEN, BLUE}
var aColor =Color.BLUE
// Declarationvar string1 ="String";
var string2 ='String';
// Multilinevar multilineStr ="""Here you can have your string multiline for easier readability;Start & end with 3 quote character.""";
// String interpolationvar name ="Enes";
print("Hello $name");
print("For objects use ${person.name}");
// Declarationvar string1 ="String"// Multilinevar multilineStr ="""Here you can have your string multiline for easier readability;Start & end with 3 quote character."""// String interpolationvar name ="Enes";
print("Hello $name");
print("For objects use ${person.name}");
// Declarationletstring="String"// MultilineletmultilineStr="""Here you can have your string multiline for easier readability;Start & end with 3 quote character."""// String interpolationletname="Enes"print("Hello \(name)")print("For objects use \(person.name)")
Functions
Dart
Kotlin
Swift
// DeclarationStringgreet(String name) {
return"Hey $name";
}
// Optional named parametersvoidgreet(String name) { }
greet("Enes");
// Named parametersvoidgreet({requiredString name}) { }
greet(name:"Enes")
// Default parametersvoidgreet({String name ="Enes"}) { }
greet();
greet(name:"Kral");
// Var args// N/A// List can be used to achieve// similar behaviour// or visit `VarArgs` package below.// Closure/Lambdavar square = (int x) => x * x;
square(4);
// Declarationfunc greet(name:String)->String{// return keyword is optional if body contains single (code) line return"Hey \(name)"}// Optional named parametersfunc greet(_ name:String){}greet("Enes")// Named parametersfunc greet(name:String){}greet(name:"Enes")// Default parametersfunc greet(name:String="Enes"){}greet()greet(name:"Adam")// Var argsfunc greet(_ names:String...){}greet("Enes","Egemen","Ferid","Serkan")// Closure/Lambdavarsquare:(Int)->Int={ $0 * $0 }varsquare={(x:Int)->Intinreturn x * x
}square(4)
Control Flow
Dart
Kotlin
Swift
// if & else(if)if (isRaining()) {
you.bringRainCoat();
} elseif (isSnowing()) {
you.wearJacket();
} else {
car.putTopDown();
}
// for loopsfor (var i =0; i <5; i++) {
print('Flutter ${i + 1}');
}
// for-invar obj = ["Android","iOS","Flutter"];
for (var prop in obj) {
print(prop);
}
// for-eachvar collection = ["Android", "iOS", "Flutter"];
collection.forEach(print);
// orvar callbacks = [];
for (var i =0; i <2; i++) {
callbacks.add(() =>print(i));
}
callbacks.forEach((c) =>c());
// whilewhile (!isDone()) {
doSomething();
}
// do-whiledo {
printLine();
} while (!atEndOfPage());
// breakwhile (true) {
if (shutDownRequested()) break;
processIncomingRequests();
}
// continuefor (int i =0; i < candidates.length; i++) {
var candidate = candidates[i];
if (candidate.yearsExperience <5) {
continue;
}
candidate.interview();
}
// or
candidates
.where((c) => c.yearsExperience >=5)
.forEach((c) => c.interview());
// switch-casevar option =1;
switch (option) {
case1:print("Android");
break;
case2:print("iOS");
break;
default:print("Flutter");
break;
}
// switch-continuevar option =1;
switch (option) {
case1:print("Android");
continue testCase;
testCase:case2:print("iOS");
break;
}
// Fill
// if & else(if)
if isRaining(){
you.bringRainCoat()}else if isSnowing(){
you.wearJacket()}else{
car.putTopDown()}// for loops// swift does not have C like for loops
for i in 0..<5{print("Swift \(i +1)")}// for-invarcollection=["Android","iOS","Flutter"]
for item in collection {print(item)}// for-each
collection.forEach{print($0)}// while
while !isDone(){doSomething()}// repeat-while
repeat {printLine()} while !atEndOfPage()// break
while true {
if (shutDownRequested()) break
processIncomingRequests()}// continue
for candidate in candidates {
if candidate.yearsExperience <5{ continue }
candidate.interview()}// or
candidates
.filter{ $0.yearsExperience >=5}.forEach{ $0.interview()}// switch-casevaroption=1
switch option {case1:print("Android")case2:// ranges also supported -> case 2...5: // ranges also supported -> case 2..<6: print("iOS")default:print("Flutter")}// Prints "Android"// switch-continuevaroption=1
switch option {case1:print("Android");
fallthroughcase2:print("iOS")default:print("Flutter");
}// Prints "Android" & "iOS"
Collections
Dart
Kotlin
Swift
// Fill
// Fill
// Fill
Optionals & Nullability
Dart
Kotlin
Swift
// DeclarationString str =null; // InvalidString? str =null; // Valid
str?.toUpperCase(); // Safe callString? str ="enes";
str?.toUpperCase(); // "ENES"// Null aware operatorint? id =null;
var userId = id ??-1; // -1int? id =53;
var userId = id ??-1; // 53
// Fill
// Declarationvarstr:String=nil// Invalidvarstr:String?=nil// Valid
str?.uppercased()// Safe callvarstr:String?="enes";
str?.uppercased()// Optional("ENES")// Nil Coalescing operatorvarid:Int?=nilvaruserId= id ??-1// -1varid:Int?=53;
varuserId= id ??-1; // 53