Just My Life & My Work

[Flutter] Const 與 Final 差異

學習 Flutter 來寫 App,一開始可以先了解 Dart 語法如何使用,像是我會認為 ConstFinal 是差不多的 Keyword,但實際上呢?

我們直接看以下的例子,就判斷是怎樣的差異,未來寫程式可以更精確地使用-不會被改變的值、物件、類別。🙃

Const

Value must be known at compile-timeconst birthday = "2008/12/25"
Can’t be changed after initialized.


Final

Value must be known at run-timefinal birthday = getBirthDateFromDB()
Can’t be changed after initialized.

以上,兩者都是為了宣告一個不可變動的 property。最大的區別為『時機點』。

  • Final 宣告的 property 是在專案執行(run time)階段的常數。
  • Constant 宣告的 property 是在專案編譯(compile time)階段的常數。
final date1 = DateTime.now(); 
const date2 = DateTime.now(); // Compile error
.

如此簡單,懂了~

參考:

隨意留個言吧:)~

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

標籤雲

%d 位部落客按了讚: