首页 > 解决方案 > 错误:尝试添加初始化表达式,或在此构造函数中添加字段初始化,或将其标记为“延迟”

问题描述

void main() {
  Car c1 = new Car('E1001');
}

class Car {
  String engine;
  Car(String engine) {
    this.engine = engine;
    print("The engine is : ${engine}");
  }
}

标签: flutterdartconstructor

解决方案


在飞镖零安全功能中,

  1. 要么使引擎变量可以为空?

    class Car {
      String? engine;
      Car(String engine){
         this.engine = engine;
         print("The engine is : ${engine}");
      }
    }
    
  2. 或者添加late关键字来懒惰地初始化它,

    class Car {
      late String engine;
      Car(String engine){
         this.engine = engine;
         print("The engine is : ${engine}");
      }
    }
    
  3. 或在构造函数的初始化块中初始化变量。

    class Car {
      String engine;
      Car(String engine) : engine = engine {
         print("The engine is : ${engine}");
      }
    }
    

推荐阅读