当前位置: 首页 > 工具软件 > Quiver Dart > 使用案例 >

Dart required

薛浩言
2023-12-01

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
}

 类似资料:

相关阅读

相关文章

相关问答