相关疑难解决方法(0)

const构造函数如何实际工作?

我注意到可以在Dart中创建一个const构造函数.在文档中,它表示该const单词用于表示编译时间常量.

我想知道当我使用const构造函数创建对象时会发生什么.这是一个永远相同且在编译时可用的不可变对象吗?const构造函数的概念实际上如何工作?const构造函数与"常规"构造函数有何不同?

dart

77
推荐指数
3
解决办法
2万
查看次数

Dart 编译器能够推断 const 构造函数的用法吗?

我认为 dart 会使用const构造函数,如果它能够自动执行的话,为了解释这个假设,让我们假设我们有一个已经有const constructor类似的小部件:

class Retry extends StatelessWidget {
  const Retry();
}
Run Code Online (Sandbox Code Playgroud)

然后因为 dart“能够推断 const 用法”,接下来的两个代码将意味着并被编译成相同的代码:

1.

Container(
   child: Retry()
)
Run Code Online (Sandbox Code Playgroud)
Container(
   child: const Retry()
)
Run Code Online (Sandbox Code Playgroud)

这是假设 dart 可以推断他必须使用const声明了该选项的类的构造函数吗?或者不是?我如何证实它?

inference constants compiler-optimization dart flutter

3
推荐指数
1
解决办法
459
查看次数