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);
}
