什麼是 const
在 Dart 和 Flutter 中,const關鍵字用於創建編譯時期常量。這意味著在編譯時期就確定了對象的值,並且在運行時期無法更改。
const 的優點
1. 提升效能
使用 const 可以提升效能,因為常量對象在內存中只會創建一次,並且在多個地方重用。這減少了內存分配和垃圾回收的開銷。
2. 保證不可變性
const 保證對象在創建後無法更改,這有助於避免意外的狀態變更,並提高代碼的穩定性和可預測性。
使用 const 的注意事項
1. 所有字段必須是 final
當你為一個類定義 const 構造函數時,該類中的所有字段必須是 final,因為 const 構造函數要求對象在編譯時期確定所有屬性。
1 | class MyButton extends StatelessWidget { |
2. 嵌套的 const
如果一個 const 對象包含其他對象,這些對象也必須是 const。這樣可以確保整個對象樹在編譯時期都是常量。
1 | const myList = [ |
3. 使用 const 構造函數
在 Flutter 中,許多 widget 可以使用 const 構造函數來創建不可變的 widget 樹。這有助於提高效能,因為常量 widget 不需要重新構建。
1 |
|
4. 使用 const 關鍵字
在創建常量對象時,確保在構造函數前添加 const 關鍵字。這樣可以明確表示該對象是常量。
1 | const myButton = MyButton( |