main函數(shù)(特殊函數(shù))玻熙,是程序的入口。
void main(){
.....
}
函數(shù)聲明
- 可以指定返回值 函數(shù)名 參數(shù) 函數(shù)體
- 不指定返回值 也可以
- 如果函數(shù)體 只有一個表達(dá)式 可以用箭頭函數(shù)形式修档,箭頭函數(shù) 返回一個值
test14(int c) => c+5;
參數(shù)
-
參數(shù)分必要參數(shù)和可選參數(shù)若专,可選參數(shù)必須在參數(shù)列表的最后脖含。
-
可選參數(shù)
- 可選參數(shù)分為可選位置參數(shù)和可選命名參數(shù)
- 二者都可以定義默認(rèn)值豁翎,但是默認(rèn)值必須是編譯時常量角骤。
- 可選參數(shù)方法聲明,
- 使用{}括起來參數(shù)聲明
- 使用冒號:設(shè)置默認(rèn)值
- 不設(shè)置默認(rèn)值又不傳值 則值為null
// 可選命名參數(shù) void test01(){ test17(a:true,b:3);//指定可選參數(shù)名字進(jìn)行傳值心剥,可以不全傳值 } //可選參數(shù)方法聲明邦尊, //使用{}括起來參數(shù)聲明 //使用冒號:設(shè)置默認(rèn)值 //不設(shè)置默認(rèn)值又不傳值 則值為null void test17({bool a,int b,String c:'ccc'}){ if(a){ print(b); print(c); }else{ print(b*b); } } 可選位置參數(shù) //使用[]將參數(shù)括起來,放在參數(shù) 列表最后 //可放多個參數(shù) //可設(shè)置默認(rèn)值 String test19(String from, String msg, [String device,bool sex=true]) { var result = '$from says $msg'; if (device != null) { result = '$result with a $device $sex'; } return result; } void test01(){ //調(diào)用時优烧,可選參數(shù)的位置和類型要與聲明時一致 String result = test19('from','msg','ccc',false); print(result); }
-
把函數(shù)當(dāng)參數(shù)傳遞
void test01(){ //將函數(shù)傳遞進(jìn)去
test22(test21,4);
}
void test22(Function f,int p){ //參數(shù)中有個類型為函數(shù)的參數(shù)
f(p);
}
void test21(int a){ //定義一個函數(shù)
print(a);
}
把函數(shù)賦值給變量
void test01(){
var t = test24;//將函數(shù)賦值給變量
t(3);//調(diào)用函數(shù)
}
void test24(int a){//定義一個函數(shù)
print(a*a);
}
//所有函數(shù)都有返回值蝉揍,如果沒有顯示返回,那么默認(rèn)return null;
void test01(){
var result = test26(3);
print(result);
}
test26(int a){//方法體內(nèi)沒有返回值
print(a);
}