flutter 现在写不写 const,差别大吗?

发布于 1周前 作者 songsunli 来自 Flutter

20 年的时候,一开始写页面,都没有写 const 。
后来一口气,把所有 UI 页面,能加 const 的全部加上了。
感觉有变流畅。

但要用 const ,就丢失了一些编码灵活性。
不知道现在马上 2024 了,写不写 const 的区别有多大。


flutter 现在写不写 const,差别大吗?
8 回复

我声明变量常量的时候默认先用 const ,接下来根据实际开发会改成 let 或者 var

更多关于flutter 现在写不写 const,差别大吗?的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


优先级 const>let>var

用了 lint ,不可变 widget 前不加 const 会有警告

他说的是 dart ,你说的可能是 js

冷知识,Flutter 中的 Widget 写不写 const 甚至会影响到 rebuild 。


显然会影响啊。
const 用的不好,直接就会导致有些 widget 不 rebuild ,页面不更新。


比如把一个不需要入参的自定义 widget ,定义为 const widget 。
页面 rebuild 时,这个 widget 并不会刷新。

能写 const 肯定写 const ,重新构建时候有优化。
日常开发用下 lint 工具,它会提醒你的。

在Flutter开发中,是否使用const关键字确实有一定的差别,尽管在某些情况下这些差别可能不那么显著,但在长期维护和代码可读性方面,合理使用const会带来诸多好处。

首先,const用于声明一个常量,意味着这个变量在初始化后就不能再被重新赋值。这有助于确保数据的不变性,减少因变量值意外改变而导致的bug。在Flutter的UI构建中,如果某个widget的属性值在构建后不会改变,使用const可以提高代码的安全性和可预测性。

其次,使用const可以提高代码的可读性。它向其他开发者(或未来的你)明确表明这个值在后续不会被修改,有助于理解代码的意图和逻辑。

另外,从性能角度来看,虽然Dart的编译器在大多数情况下能够优化掉不必要的变量分配,但在某些极端情况下,明确使用const可以减少不必要的内存分配和GC(垃圾回收)压力,尽管这种差异在大多数Flutter应用中可能并不明显。

总的来说,虽然在简单的Flutter应用中,是否使用const可能看起来差别不大,但在更复杂的应用中,合理使用const可以提高代码的安全性、可读性和潜在的性能。因此,建议开发者在Flutter开发中养成使用const的好习惯,除非有明确的理由不使用它。

回到顶部