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