Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 必须初始化不可为空的实例字段 class-Foo{ int count;//错误 空条()=>计数=0; }_Dart - Fatal编程技术网

Dart 必须初始化不可为空的实例字段 class-Foo{ int count;//错误 空条()=>计数=0; }

Dart 必须初始化不可为空的实例字段 class-Foo{ int count;//错误 空条()=>计数=0; },dart,Dart,当我已经在bar方法中初始化错误时,为什么会看到错误?如果count标记为final则我可以理解此错误,因为您的代码在零安全性到达之前是正常的 使用空安全性,Dart无法知道您是否实际为count分配了一个变量。Dart可以通过三种方式查看初始化: (1) 在申报时: int count=0; (2) 在初始化形式中 Foo(this.count); (3) 在初始值设定项列表中 Foo():count=0; 因此,根据Dart的说法,count从未在代码中初始化过,因此出现了错误。解决方

当我已经在
bar
方法中初始化错误时,为什么会看到错误?如果
count
标记为
final

则我可以理解此错误,因为您的代码在零安全性到达之前是正常的

使用空安全性,Dart无法知道您是否实际为
count
分配了一个变量。Dart可以通过三种方式查看初始化:

(1) 在申报时:

int count=0;
(2) 在初始化形式中

Foo(this.count);
(3) 在初始值设定项列表中

Foo():count=0;
因此,根据Dart的说法,
count
从未在代码中初始化过,因此出现了错误。解决方案是用上面所示的3种方式初始化它,或者只使用
late
关键字,这将告诉Dart您将在使用变量之前的某个其他点初始化变量

class-Foo{
延迟int计数;//无错误
空条()=>计数=0;
}

如果您认为
count
可以为
null
,请使用
int?
将其设置为null

class Foo {
  int? count; // No error
  void bar() => count = 0;
}
但是,您必须使用bang操作符
(!)
来消除空性

int result=count!;
在零安全性到来之前,您的代码是正常的

使用空安全性,Dart无法知道您是否实际为
count
分配了一个变量。Dart可以通过三种方式查看初始化:

(1) 在申报时:

int count=0;
(2) 在初始化形式中

Foo(this.count);
(3) 在初始值设定项列表中

Foo():count=0;
因此,根据Dart的说法,
count
从未在代码中初始化过,因此出现了错误。解决方案是用上面所示的3种方式初始化它,或者只使用
late
关键字,这将告诉Dart您将在使用变量之前的某个其他点初始化变量

class-Foo{
延迟int计数;//无错误
空条()=>计数=0;
}

如果您认为
count
可以为
null
,请使用
int?
将其设置为null

class Foo {
  int? count; // No error
  void bar() => count = 0;
}
但是,您必须使用bang操作符
(!)
来消除空性

int result=count!;