Dart required

required关键词:

最开始 @required 是注解

现在它已经作为内置修饰符。

主要用于允许根据需要标记任何命名参数(函数或类),使得它们不为空。因为可选参数中必须有个 required 参数或者该参数有个默认值。

String printUserInfo(String username, {int age = 10, String sex = '男'}) { // 形参
  return "姓名: $username --- 性别: $sex --- 年龄: $age";
}

String printInfo(String username, {required int age, required String sex}) { // 形参
  return "姓名: $username --- 性别: $sex --- 年龄: $age";
}

void main(args) {
  print(printUserInfo('张三'));
  // age 和 sex必须传入
  print(printInfo('李四', age: 20, sex: '男'));
}

必须传入的命名参数

class Person {
  int age;
  Person({required this.name, required this.age}); // 表示 name age 必须传入
  String getName() {
    return "${this.name}------${this.age}";
  }
}

void main() {
  Person p = new Person(name: '张三', age: 20);
  print(p.getName()); // 张三------20
}

传入命名可选参数

class Person {
  String? name;
  int age;
  Person({this.name, required this.age}); // 表示 name 可传入也可不传入 age 必须传入
  String getName() {
    return "${this.name}------${this.age}";
  }
}

void main() {
  Person p = new Person(name: '张三', age: 20);
  print(p.getName()); // 张三------20
  Person p1 = new Person(age: 20);
  print(p1.getName()); // null------20
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

想散在风中

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

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

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

打赏作者

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

抵扣说明:

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

余额充值