gpt4 book ai didi

dart - Flutter 中的 final/const 热潮是怎么回事?

转载 作者:IT老高 更新时间:2023-10-28 12:42:43 29 4
gpt4 key购买 nike

Java 有 final 和 Dart,但据我所知,大多数 Java 人一直避免使用它,因为它会降低代码的可读性。例如,final 一直用在 class 常量如 public static final int 中,但大多数人避免在方法变量中使用它,因为它只是被许多开发人员视为“过度的代码正确性”,添加到样板代码中。

C++ 也有 const 并且它可能会为之疯狂:

char ** const * const x // declare x as const pointer to const pointer to pointer to char

现在我开始学习 Flutter,我看到 finalconst 到处都是。这些真的有必要吗,就像他们说的那样:

Fields in a Widget subclass are always marked "final".

或者它们是否可以被视为“代码正确性过多”而被删除?

对不起,如果我的问题太愚蠢了,我对 Dart 和 Flutter 真的很陌生,我不知道使用 finalconst 的所有副作用/好处>,以证明何时记住在我的代码中使用它们的额外注意是合理的。

最佳答案

const 表示该变量的值在编译时是已知的,并且在整个应用程序期间将保持不变。

由于该值在编译时已知,因此您可以进行必要的优化。

final 表示从设置的那一刻起,该值将保持不变或不可变。但它是在运行时设置的。所以编译时不知道,也无法优化。

如果您不使用 final,您将失去在 Flutter 中应遵循的不变性功能。您应该始终创建一个小部件,而不是修改它。强制执行的方法是使其所有字段成为最终字段。

关于dart - Flutter 中的 final/const 热潮是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53270955/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com