DART编译器是否能够推断常量构造函数的用法? [英] Is Dart compiler able to infer the usage of const constructor?

查看:36
本文介绍了DART编译器是否能够推断常量构造函数的用法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我认为DART将使用const构造函数,如果它能够自动执行,为了解释假设,让我们假设我们有一个小部件,它已经具有const constructorLike:

class Retry extends StatelessWidget {
  const Retry();
}

然后,因为Dart";能够推断常量用法,接下来的两个代码将意味着并被编译成相同的代码:

1.

Container(
   child: Retry()
)
Container(
   child: const Retry()
)
是否假设DART可以推断他必须为声明了该选项的类使用const构造函数?或者不是? 我如何才能证实它?

推荐答案

DART无法推断您希望该对象为const,除非周围有某些上下文强制其为。在您展示的示例中,情况并非如此。如果希望DART制作某些const必须在某个时刻使用const关键字。

推论const示例:

const SizedBox(
  child: Retry(),
)
SizedBox上的const强制Retryconst。这种情况和类似情况是隐含const的唯一位置。

这篇关于DART编译器是否能够推断常量构造函数的用法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆