代码之家  ›  专栏  ›  技术社区  ›  live-love

不显式地将变量初始化为空

  •  0
  • live-love  · 技术社区  · 5 年前

    不显式地将变量初始化为空

    class Dog {
      final id int;
      final String name;
      final int age;
    
      Dog({this.id=null, this.name, this.age});
    }
    

    我不想把id传递给构造函数。我想这样调用构造函数:

      var dog = Dog(
        name: 'Rex',
        age: 15,
      );
    

    我该怎么做?

    2 回复  |  直到 5 年前
        1
  •  1
  •   Sisir    5 年前

    通过不显式分配给 null

    class Dog {
      final id int;
      final String name;
      final int age;
    
      Dog({this.id, this.name, this.age});
    }
    

    记住,默认 id 设置为 无效的 . 因此,如果消费者不传递 身份证件 它将继续 无效的 name

    如果要强制任何参数,则应将其标记为 @required

        2
  •  1
  •   BeHappy    5 年前

    null .