Dart 語言
Hello World
void main() {
print("Hello World!");
}
Output :
Hello World!
註解
/*
我是很長的備註
*/
void main() {
// 一行備註
print("Hello World!");
}
保留字
abstract
default
final
null
throw
as
deferred
finally
operator
true
assert
do
for
part
try
async
dynamic
get
rethrow
typedef
await
else
if
return
var
break
enum
implements
set
void
case
export
import
static
while
catch
external
in
super
with
class
extends
is
switch
yield
const
factory
library
sync
continue
false
new
this
變數宣告
變數型別
說明
舉例
bool
Boolean 布林數
true, false
int
整數
1、2、3、4
double
2倍精確度浮點數
1.2、0.0
String
字串
"123"
var
未定型別變數
dynamic
泛型
範例
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}
變數前綴
前綴
說明
舉例
final
不允許再次更改數值
final int i = 0;
const
常數
const double PI = 3.14;
lazy
延遲賦值
lazy var VarABC;
集合宣告
變數名
說明
舉例
List
陣列
List<int> 整數陣列 , List<String> 字串陣列
Map
key-value pairs
Map<String,int> ...
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
Was this helpful?