【Dart】finalとconstの違いを3分で解説!パフォーマンス考慮できる!

  • FlutterでDart言語のfinalとconstの違いを知りたい!

そこで、今回はFlutterDartにおけるfinalとconstの違いと使い方初心者向けに解説します。

不明点などありましたら、お気軽にお問い合わせ下さい。

この記事で分かること!
  • finalとconstの違い
  • finalの使い方、具体例
  • constの使い方、具体例
  • パフォーマンスの影響

ちなみに、プログラミング初心者は疑問やエラーの解消に時間が掛かり、学習が前に進まなくて挫折することはよくあります。独学でFlutterを学習する場合は、次のことも考えないといけません。

  • 学習の計画
  • スケジュール管理
  • ポートフォリオ作成時に技術選定 など

初心者にとっては大変です。そこで、自走できるまでの手段にスクールを利用するのは1つの手です!Flutterが学べるおすすめスクールはこちらで詳しく解説してます。月2万ほど〜学べるスクールもあるのでご参考にどうぞ。

目次

【Dart】finalとconstの違い

finalconstも変数の値を変えたくない時に使いますが、その方法が異なります。

基本的には、変数の値がプログラム実行中に変更されない場合は const を使用し、変更される可能性がある場合は final を使用することが望ましいです。

final変数が初めて参照されるときに値が計算されます。そのため、final 変数は初めて参照されるタイミングで値が決定され、その後は変更されません。
constコンパイル時に値が計算されます。そのため、const 変数はアプリケーションがコンパイルされる時点で値が決定され、実行時に変更されません。
void main() {
 String x = "check";

 final String b  = x; //エラーにならない  
 const String a  = x; //エラー  
}

Final and const

If you never intend to change a variable, use final or const, either instead of var or in addition to a type. A final variable can be set only once; a const variable is a compile-time constant. (Const variables are implicitly final.)

(直訳)変数を変更するつもりがない場合は、var の代わりに、または型に加えて、final または const を使用してください。 final 変数は 1 回だけ設定できます。 const 変数はコンパイル時の定数です。 (const 変数は暗黙的に final です。)

引用:Dart API 公式サイト「final and const」

【Dart】finalとconstの使い方と具体例

一般的にfinal 変数は実行時に計算する必要がある値に使用し、const 変数は定数値に使用します。

finalの使い方

final 変数は、実行時に計算する必要がある値に使用されます。例えば、以下のような場合です。

  • ランダムな値を生成する
  • 現在のデバイスの時間を取得する
  • 外部APIから取得したデータ

constの使い方

const 変数は、定数値に使用されます。例えば、以下のような場合です。

  • 定数的な値 (例えば、π)
  • 静的なリソース (例えば、アイコン、タイトル、項目名)
  • 定数的な定数 (例えば、enum)

【Dart】finalとconstによるアプリのパフォーマンス影響

final 変数は、実行時に初期化されるため、性能に影響を及ぼす可能性があります。 一方、 const 変数は、コンパイル時に評価されるため、実行時に性能の影響を及ぼすことはありません。

また、 const 変数は、コンパイル時に評価されるため、実行時に値が変更されることはないため、実行時に値を確認する必要がなく、より高速にアクセスすることができます。

【Dart】finalとconstの基本的な使い方は押さえておこう!

今回の記事ではDartにおけるfinalとconstの違いと使い方について解説しました。

finalとconstを正しく使い分けて、パフォーマンスの良いアプリを作りましょう!

Flutterエンジニアになるには?

初心者が中級者レベルのFlutterエンジニアなるまでの進め方をまとめました。

Flutterの学習方法を知る

Flutter を動画で学ぶ(Udemy)

Flutter をスクールで学ぶ

Flutterの仕事を探す

おまけFlutter入門の完全ガイド

Flutter/Dartの基礎一覧

Flutter/Dartの入門知識として押さえておきたい内容をまとめました。学習のご参考にどうぞ。

Widget一覧

画面レイアウト

ボタン

入力・出力

ページ遷移

状態管理

非同期処理

Dartの基本文法

ライブラリ使い方

目次