1. ホーム
  2. constants

[解決済み] const "と "val "の違いは何ですか?

2022-03-23 20:26:29

質問

について最近読みました。 const というキーワードがありますが、私はとても混乱しています。との違いがわかりません。 constval というキーワードがありますが、この2つを使ってイミュータブルな変数を作ることができるのですが、他に何か見落としているものはないでしょうか?

どのように解決するのですか?

const はコンパイル時定数です。とは異なり、その値はコンパイル時に代入されなければならないことを意味します。 val は、実行時に実行することができます。

これはつまり const は、関数やクラスのコンストラクタには決して割り当てられません。 String またはプリミティブを使用します。

例えば

const val foo = complexFunctionCall()   //Not okay
val fooVal = complexFunctionCall()  //Okay

const val bar = "Hello world"           //Also okay