【发布时间】:2021-02-15 20:57:32
【问题描述】:
我认为 dart 将使用 const 构造函数,如果它能够自动执行,为了解释这个假设让我们假设我们有一个已经有一个 const constructor 的小部件,例如:
class Retry extends StatelessWidget {
const Retry();
}
然后因为 dart “能够推断 const 用法”,接下来的两个代码都意味着并被编译成相同的代码:
1.
Container(
child: Retry()
)
Container(
child: const Retry()
)
这个假设是 dart 可以推断他必须为声明了该选项的类使用 const 构造函数吗?或者不是?
我怎样才能证实它?
【问题讨论】:
-
编译器原则上可以,但它不会,因为自动使用
const可能会导致行为发生变化。另请参阅Dart: Is there a disadvantage to using const constructor?。
标签: flutter dart constants compiler-optimization inference