Dart基础学习总结(中)

目录

Dart中的函数  函数的定义 可选参数  默认参数  命名参数 箭头函数 匿名函数 闭包

 内置方法/函数:就是系统自带的方法,比如一直用的打印方法:  print();

 自定义方法:

Dart中的函数的调用

方法的作用域

Dart中调用方法传参

Dart中的箭头函数

Dart中方法间的互相调用

Dart中的匿名函数

Dart中的自执行方法

Dart中方法的递归

Dart中的闭包

Dart面向对象的介绍 以及Data内置对象

 Dart中自定义类的创建和使用

Dart中自定义类的默认构造函数

Dart中自定义类的命名构造函数

Dart中把类单独抽离成一个模块

Dart中的私有方法 和私有属性

类中的get和set修饰符的用法

类中的初始化列表


Dart中的函数  函数的定义 可选参数  默认参数  命名参数 箭头函数 匿名函数 闭包

Dart中的函数分为两种,内置函数和自定义函数。

 内置方法/函数:就是系统自带的方法,比如一直用的打印方法:  print();

 自定义方法:

      自定义方法的基本格式:

      返回类型  方法名称(参数1,参数2,...){

        方法体

        return 返回值;

      }

如:

//一个无返回类型的自定义方法
void printInfo(){
  print('我是一个自定义方法');
}

//一个有返回类型的自定义方法
int getNum(){
  var myNum=123;
  return myNum;
}

自定义方法可以写在main()方法里,也可以现在main方法外,void表示是无返回类型的方法,返回类型可以是任意类型,但是需要与返回值保持一直:

//返回类型为String的函数
String printUserInfo(){
  return 'this is str';
}

//返回类型为List的函数
List getList(){
  return ['111','2222','333'];
}

Dart中的函数的调用

在dart中所有函数都要在入口函数main()中执行

如:(main()中的方法皆为上文中定义出来的方法)

void main(){

   print('调用系统内置的方法');

   printInfo();

   var n=getNum();

   print(n);

   print(printUserInfo());
 
   print(getList());

}

方法的作用域

void main (){
  void xxx(){
      aaa(){
          print(getList());
          print('aaa');
      }
      aaa();
  }
  // aaa();  错误写法,超出aaa()方法的作用域
  xxx();  //调用方法
  }
}

如上所示,方法内是可以嵌套方法的,但是在xxx()方法内定义的方法,只可以在本方法内部调用,如果写在外面,会提示找不到该方法;但是可以在aaa()中调用getList()方法,因为getList()的作用域是全局的;

Dart中调用方法传参

1、定义一个方法 求1到这个数的所有数的和

int sumNum(int n){//一般建议规定好参数类型
      var sum=0;
      for(var i=1;i<=n;i++)
      {
        sum+=i;
      }
      return sum;
    } 

    var n1=sumNum(5);//传入参数5,即显示1到5的和
    print(n1);//输出结果:15
    var n2=sumNum(100);//传入参数5,即显示1到100的和
    print(n2);//输出结果:5050

2、定义一个方法然后打印用户信息

 String printUserInfo(String username,int age){  //形参
         return "姓名:$username---年龄:$age";
     }

     print(printUserInfo('张三',20)); //实参
    //输出结果:姓名:张三---年龄:20

写在方法里的参数,称为形参,具体传入的参数,称为实参;

3、定义一个带可选参数的方法

String printUserInfo(String username,[int age]){  写在[]里的参数,为可选参数

       if(age!=null){
         return "姓名:$username---年龄:$age";
       }
       return "姓名:$username---年龄保密";
     }

     print(printUserInfo('张三',21)); //输出结果:姓名:张三---年龄:21

     print(printUserInfo('张三'));//输出结果:姓名:张三---年龄保密

4、定义一个带默认参数的方法

String printUserInfo(String username,[String sex='男',int age]){//[]中的参数如果有默认值,则为默认参数 
       if(age!=null){
         return "姓名:$username---性别:$sex--年龄:$age";
       }
      return "姓名:$username---性别:$sex--年龄保密";
     }
print(printUserInfo('张三'));//输出结果: 姓名:张三---性别:男--年龄保密

5、定义一个命名参数的方法

String printUserInfo(String username,{int age,String sex='男'}){  //注意:这里是{}

      if(age!=null){
        return "姓名:$username---性别:$sex--年龄:$age";
       }
       return "姓名:$username---性别:$sex--年龄保密";
  }
  print(printUserInfo('张三',age:20,sex:'未知'));//{}中的参数也可选填,但是要传参时需要"参数名:参数"这样的格式
//输出结果:姓名:张三---性别:未知--年龄:20

6、实现一个 把方法当做参数的方法

  fn1(){
    print('fn1');
  }
  //方法
  fn2(fn){
    
    fn();
  }
  //调用fn2这个方法 把fn1这个方法当做参数传入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值