Dart 方法传参 默认参数 可选参数 命名参数 方法作为参数

调用方法传参

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

main() {

   int sumNum(int n) {

     var sum = 0;

     for (var i = 0; i <= n; i++) {

       sum += i;

     }

     return sum;

   }

   var n1 = sumNum(60);

   print(n1);

   var n2 = sumNum(100);

   print(n2);

}

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

main() {

   String printUserInfo(String username, int age) {

     return ("姓名:$username ------ 年龄:$age");

   }

  print(printUserInfo("张三", 20));

}

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

main() {

   String printUserInfo(String username, [int age = null, String sex = '男']) {

     // 形参

     if (age != null) {

       return "姓名:$username ------ 年龄:$age";

     }

     return "姓名:$username ------ 年龄:保密";

   }


   print(printUserInfo("张三", 21)); // 实参


   print(printUserInfo("张三")); // 姓名:张三 ------ 年龄:保密

}

定一个带默认参数的方法

main() {

   String printUserInfo(String username, [String sex = '男', int age = 0]) {

     // 形参

     if (age != 0) {

       return "姓名:$username --- 性别: $sex --- 年龄:$age";

     }

     return "姓名:$username --- 性别: $sex --- 年龄:保密";

   }


   print(printUserInfo("张三")); // 姓名:张三 --- 性别: 男 --- 年龄:保密


   print(printUserInfo("小李", "女")); // 姓名:小李 --- 性别: 女 --- 年龄:保密


   print(printUserInfo("小李", "女", 30)); // 姓名:小李 --- 性别: 女 --- 年龄:30

}

定义一个命名参数

main() {

  String printUserInfo(String username, {int age = 0, String sex = '男'}) {

    if (age != 0) {

      return "姓名:$username---性别:$sex--年龄:$age";

    }

    return "姓名:$username---性别:$sex--年龄保密";

  }

  print(printUserInfo('张三', age: 20, sex: '未知')); // 姓名:张三---性别:未知--年龄:20

}

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

main() {

   // 方法

   fn1() {

     print('fn1');

   }


  // 方法

   fn2(fn) {

     fn();

   }


  // 调用 fn2 这个方法 把fn1这个方法当参数传入

   fn2(fn1); // fn1

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想散在风中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值