6.Dart中的函數 函數的定義 調用方法傳參


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

  

  

 

  

  

  

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM