Dart 語言

Hello World

void main() {
  print("Hello World!");
}

Output :

Hello World!

註解

/*
我是很長的備註
*/

void main() {
  // 一行備註
  print("Hello World!");
}

保留字

變數宣告

範例

bool hasValue = true;
int i=0;
double pi = 3.14;
String myName = "AKI";
var a;
dynamic dynamicTest = "1";
List<double> scores = [0.1,0.2,0.3];
Map<String,String> map = {"name":"aki","gender":"male"};

void main() {
  print("Hello World!");
  print(hasValue);
  print(i);
  print(pi);
  print(myName);
  print(a); //未賦值,所以是 null
  print(dynamicTest);
  dynamicTest = 2; //型別改變了
  print(dynamicTest);
  print(scores);
  print(map);
}
Hello World!
true
0
3.14
AKI
null
1
2
[0.1, 0.2, 0.3]
{name: aki, gender: male}

變數前綴

集合宣告

map reduce where filter

null? empty?

Null-Safty

在宣告變數時先講清楚,到底 可不可以為 null。如果可以有null,編譯器就會提早檢查你是否有針對 null 做處理

String name1 = "1";  //不允許為 null, 所以要先賦值 
String? name2;      //可以為 null, 不賦值的話 即為空值

main(){
  
  print(name1);
  print(name2);
  name1 = null; //exception 這裡會出錯
  name2 = "123";
  print(name2);
}

運算子

賦值

main{
  int a = 1;
  a += 1;
  print(a);
}

串接

String abc = "a"+"b"+"c";

屬性

Navigator.of(context).isBlank

流程控制

迴圈

for

while

do-while

跳脫

break / continue

判斷式

  • if / elseif / else

if(name=="AKI"){
  print("Hi AKI");
}else if(name=="AKI's Friends"){
  print("Hi buddy");
}else {
  print("Who are you?");
}
  • switch case

 switch (leaveCode) {
    case "H1001":
      return tr("SH_AnnualLeave");
    case "H1002":
      return tr("SH_DeferredLeave");
    default:
      return "";
  }

函數 / 匿名函數

return value / function parameter / optional parameter / Positional parameter

implements

Exeption

練習區

DartPad : https://dartpad.dev/?null_safety=true

Last updated