1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dart入門(2)

1
Posted at

Dartの変数と定数

型アノテーションとは

注意:Null safetyについて記載なしです。

DartはJavaやC言語のような静的型付けをする言語とは違い型付けが任意となっている。

型を明示するためには型アノテーションを利用する。利用しない場合は型推論される。

型アノテーションには

  • コードが読みやすくなる
  • コンパイラやエディタの静的分析による実行時エラーを減らすことができる

と言った利点がある。

正しく(考えて)利用することでこのDartシステムの恩恵を最大限受けることができる!

新しい単語で難しく思うかもしれないが、型名(クラス名)を書くだけなのでjava やc言語を知っていればそれほど難しくはないはず。

変数宣言

型アノテーションなし

型アノテーションなしでの変数宣言時には var キーワードを使用する。

// 構文
var 変数名 = ;

// 例
var flg;
var n = 1.2;
var s = "strings";

型アノテーションあり

// 構文
型アノテーション 変数名 = ;

// 例
bool flg;
double n = 1.2;
String s = "strings";

定数宣言

定数宣言時には final or const キーワードを使用する。

finalconst の違いは以下のようになる

final const
値への参照が固定される 値自体が固定される(コンパイル時定数)

型アノテーションなし

// 構文
final 変数名 = ;
const 変数名 = ;

// 例
final n = 1.2;
const s = "strings";

型アノテーションあり

// 構文
final 型アノテーション 変数名 = ;
const 型アノテーション 変数名 = ;

// 例
final double n = 1.2;
const String s = "strings";

型アノテーションはどのような時に使うの?

型がわからない時型を指定したい時に使うと良い。

例えば

final String s = 'text';

この場合は右辺で文字列を代入していることから型アノテーションがなくても、変数sStringであることがわかる。
→ 型が簡単に推測できる場合は書く必要がない
finalconstの場合はほとんど必要ないと言ってもいい(初期化時に判別できる)

ただ

final s = func();

のように、コード上に型のヒントとなる情報が少ない場合はあってもいいと思う。
ただこの場合、func定義時に戻り値に型アノテーションを使用していればエディタがサポートしてくれるので、なくてもコーディングにはあまり問題がない。
(あくまでも任意なので...あるといいよねって感じ)


参考リンク
Dart型システム

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?