Flutter

【Flutter/Dart】定数とは?概念や使い方を徹底解説!

こんにちは、テルプロです!

「定数(final/const)の使い方がわからない」とお悩みではないでしょうか?

テルプロ

本記事ではそんな悩みを解決していきます!

Flutter/Dartの基礎文法一覧

定数とは

  1. 値を格納できる箱のこと
  2. 格納した値は後から上書きできない
  3. Dart言語の定数には「final」と「const」 の2種類がある

定数を理解する上で、押さえておくべきポイントは上記の3点のみです。

では、詳しく解説していきます!

基本的な使い方

簡単解説

今回は「電話番号を本人の名前としたい場合」を例に挙げます。

人の電話番号を覚えるのって難しいですよね。そういうときに、定数は役立ちます。

定数は値を格納できる箱なので、上記の例だと、TERUという名前のついた箱に本人の電話番号を格納することができます。

以降、TERUを指定してあげれば本人の電話番号を出力することができます。

注意点としては、格納した値は後から上書きすることができないという点です。

定数は、今回の例のように値を箱に格納したい際に用います。

finalとconstの違い

Dart言語の定数には「final」と「const」 の2種類があります。

どちらも定数であることに違いはありませんが、上記のように値が決まるタイミングが異なります。

finalは、ビルド時に値が代入されていれば問題ありません。対してconstは、 コンパイル時に値が代入されていなければエラーが起きてしまします。

では、実際の使用例を用いて解説していきます!

使用例

const 定数名 = 値;
final 定数名 = 値;
void main() {
  final myFinal = DateTime.now(); // ビルド時に値が代入される
  const int myConst = 10;  // コンパイル時に値が代入される
  
// それぞれプリントする
  print(myFinal);
  print(myConst);
}


//出力結果 10, 現在の時刻

簡単解説

上記は、定数の基本であるconstとfinalを用いたプログラムです

constでは「10」という値を格納し、finalでは「DateTime.now()」つまり現在の時刻を格納しています。

「DateTime.now()」は、ビルド時に値が代入されるため、constで指定するとエラーが起きてしまいます。

これらの値は後から上書きすることはできません。

以上が、定数の基本的な使い方です。

まとめ

今回は【定数】の概念や使い方を徹底解説しました。

解説の通り定数は、値を箱に格納したい際に用いるものとなります。Dartの文法をしっかりと押さえて、開発の幅を広げていきましょう。

▼以下では、私の実体験に基づいて「Flutterの効率的な勉強法」の具体的な手順を詳しく解説しています。ぜひ参考にしてみてください!

最後までご覧いただきありがとうございました。ではまた!

参考文献
ABOUT ME
テルプロ
東京都在住のアプリエンジニア。大学では、ソフトウェア開発の研究に取り組む。長期のエンジニアインターンシップを経て、実務スキルを磨き、現在はフリーランスエンジニアとしても活動中。メインはモバイルアプリ開発。IT関連の記事監修も行い、技術の共有と普及に励んでいます。 監修実績(レバテックフリーランス
\ 登録しておいて損なし!IT就活支援サービス /
1位:レバテックルーキー
レバテックルーキー」とは、新卒でITエンジニアを目指す学生の支援に特化した就職エージェントです。業界支持率NO.1の実績を誇っており、エージェント選びに悩む学生におすすめです。エンジニア業界を熟知したアドバイザーが担当します。面接対策だけでなく、学生の志向性やスキル、入社後のキャリアパスを考慮したアドバイスをしてくれる就職活動の強い味方となります。
おすすめ度
URLレバテックルーキーはこちら

 

2位:OfferBox
OfferBox」とは、企業が興味を持った学生にオファーする、新しい就活サイトです。学生は自分のプロフィールを登録しておくだけで、企業からオファーをもらえます。学生利用率No.1で就活生の3人に1人が利用しており、IT業界を志望する学生にもおすすめです。いわゆる一斉配信ができないため、企業はしっかりと学生のプロフィールを見て、オファーを送ってくるので安心です。
おすすめ度
URLオファー型就活アプリOfferBox

 

3位:GeekSalon
GeekSalon」とは、全国展開の大学生限定プログラミングスクールです。Web開発やアプリ開発など多様なコースを提供しています。お値段は他スクールの3分の1程度の料金で、大学生でも通いやすい値段設定です。専属メンターが全面的にサポートしてくれるため、未経験でも安心です。また、切磋琢磨できる同世代の仲間に出会えます。スクールを検討している大学生におすすめです。
おすすめ度
URL大学生限定コミュニティ「GeekSalon」