1.自定義方法
1.自定義方法的基本格式:
返回類型 方法名稱(參數1,參數2,...){
方法體
return 返回值;
}
void printInfo(){ print('我是一個自定義方法'); } int getNum(){ var myNum=123; return myNum; } String printUserInfo(){ return 'this is str'; } List getList(){ return ['111','2222','333']; } void main(){ printInfo(); var n=getNum(); print(n); print(printUserInfo()); print(getList()); }
2.方法作用域
void main(){ void xxx(){ aaa(){ print(getList()); print('aaa'); } aaa(); } // aaa(); 錯誤寫法 xxx(); //調用方法 }
2.調用方法傳參
1).定義一個方法 求1到這個數的所有數的和
void main(){ int sumNum(int n){ var sum=0; for(var i=1;i<=n;i++) { sum+=i; } return sum; } var n1=sumNum(5); print(n1); var n2=sumNum(100); print(n2); }
2).定義一個方法然后打印用戶信息
void main(){ String printUserInfo(String username,int age){ //行參 return "姓名:$username---年齡:$age"; } print(printUserInfo('張三',20)); //實參 }
3)定義一個帶可選參數的方法
void main(){ String printUserInfo(String username,[int age]){ //行參 //可選參數用 [ ] 包起來 if(age!=null){ return "姓名:$username---年齡:$age"; } return "姓名:$username---年齡保密"; } print(printUserInfo('張三',21)); //實參 print(printUserInfo('李四')); }
4).定義一個帶默認參數的方法
void main(){ String printUserInfo(String username,[String sex='男',int age]){ //行參 if(age!=null){ return "姓名:$username---性別:$sex--年齡:$age"; } return "姓名:$username---性別:$sex--年齡保密"; } print(printUserInfo('張三')); print(printUserInfo('小李','女')); print(printUserInfo('小李','女',30)); }
5)定義一個命名參數的方法
void main(){ String printUserInfo(String username,{int age,String sex='男'}){ //行參 if(age!=null){ return "姓名:$username---性別:$sex--年齡:$age"; } return "姓名:$username---性別:$sex--年齡保密"; } print(printUserInfo('張三',age:20,sex:'未知')); //定義命名參數sex }
6).實現一個 把方法當做參數的方法
void main(){ //方法 fn1(){ print('fn1'); } //方法 fn2(fn){ fn(); } //調用fn2這個方法 把fn1這個方法當做參數傳入 fn2(fn1); }