値と計算の基本 (6/9)
作成:2018-03-10 10:20
更新:2018-03-10 10:20
更新:2018-03-10 10:20
■final変数と定数、ダイナミック変数
変数は、いつでも値を変更することができますが、場合によっては値の変更をしたくないこともあるでしょう。そのような場合には、「final」というものをつけて変数宣言をします。
これに似たものに「定数」というものもあります。これは、varの代りに「const」というものを使って記述します。
変数は、varで用意した後、最初に代入された値によって型が決められます。例えば、こんな文があったとしましょう。
が、ときには「ある変数に設定される型がどのようなものになるか予測できない」ということもあります。どんな型の値が設定されるかわからない、という場合ですね。そういう場合、単にvar ○○で変数を宣言したのでは、変数の型が固定されるため使えません。
このような場合に使われるのが「ダイナミック変数」です。これは以下のように宣言します。
final x = 123;こんな具合ですね。このようにして宣言すると、変数の値は変更することができなくなります。
final int x = 123;
これに似たものに「定数」というものもあります。これは、varの代りに「const」というものを使って記述します。
const x = 123;こんな具合ですね。このconstは、実行時にリテラルに置き換えられて実行されます。つまり、これは変数ではなくて「リテラルの仲間」と考えると良いでしょう。
const int x = 123;
■変数型の設定とダイナミック変数
変数は、varで用意した後、最初に代入された値によって型が決められます。例えば、こんな文があったとしましょう。
var x = 123;123を代入したことで、この変数xは、整数型の値を保管するものとなります。この後で、テキストの値などを代入するとエラーになるのです。プログラミングでは、既にある変数に型の異なる値を代入して再利用するのは、コードをわかりにくくしますし、思わぬエラーの温床となります。そこでDartでは、値が設定された段階で「この変数は○○の型の値を保管するものだ」と固定されるのですね。
が、ときには「ある変数に設定される型がどのようなものになるか予測できない」ということもあります。どんな型の値が設定されるかわからない、という場合ですね。そういう場合、単にvar ○○で変数を宣言したのでは、変数の型が固定されるため使えません。
このような場合に使われるのが「ダイナミック変数」です。これは以下のように宣言します。
dynamic 変数 ;このようにして宣言された変数は、どんな型の値も代入することができます。例えば、こんな具合です。
dynamic n = 100;こんな具合に、どんな値も代入できる変数が作成できます。これは、やや特殊な使い方をするものですが、覚えておくといずれ役立ちますよ!
n = "helo";
n = true;
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ