23

1301

仕事と暮らし

Dart公式ドキュメントを読んでみよう! Part 2

前回の記事ではDart公式ドキュメントを参考に、Dartの基本事項から変数についてまでをご紹介しました。
今回は「Dartに標準で組み込まれている型」についてご紹介いたします。

記事内で参照するページのご紹介(再掲)

・Dartのドキュメント(https://dart.dev/guides/language/language-tour
–> 内容はこのページに沿っています。

・Dart Pad(https://dartpad.dev/
–> Dartのコードを試せるplaygroundです。コードをすぐに試せます。

Dartに標準で組み込まれている型について

Dartでは、以下がサポートされています。
int
double
String
bool
List
Set
Map
Runes
Symbol

本記事では特に使用頻度の高い、intからMapまでをご紹介します。
以下で1つずつ見ていきましょう。

int, double

intは整数値を扱うための型、doubleは浮動小数点を扱うための型です。
また、これらはどちらも、numという型のサブクラスです。

  
    void main() {
      int myInt = 1;
      double myDouble = 3.14159265;

      // numを使うとどちらも格納できます
      num myNum = 3;
      num myNumDouble = 1.41421356;
    }
  
  

String

Stringは文字列を扱うための型です。
シングルクォーテーション、またはダブルクォーテーションで囲みます。
また、”’(シングルクォーテーション3つ)で囲むことで複数行の文字列を格納することも可能です。

  
    void main() {
      String message = 'Hello!';
      
      // 複数行の文字は '''で囲む
      String multiLine = '''
      複数行の文字列は、
      このようにしてシングルクォーテーション3つで
      囲みます。
      ''';

      print(multiLine);
    }
  
  
multiLine 実行結果

また、${}を使用することで文字列中に式を埋め込むことができます。

  
    void main() {
      var yourFirstName = 'Recus';
      var yourLastName = 'Groove';

      String message = 'Hello, ${yourFirstName + ' ' + yourLastName}!';
      
      print(message);
    }
  
  
message 実行結果

bool

bool型はtrueもしくはfalseのみを持ちます。
注意点として、DartではJavaScriptであるような、「null, 空文字, 0などがfalseとして扱われる」という仕様はありません。

List

Listは配列(順序を持った値のまとまり)を扱うための型です。
List<String>のようにすることで、配列要素の型を明示することもできます。

  
    void main() {
      var list = [1, 2, 3];

      // List<String>のようにすることで、型を明示することもできる
      List<String> listStr = ["これは", "配列", "です"];
    }
  
  

コンパイル時定数であるリストを作成する際は以下のようにします。

  
    void main() {
      var list = const [1, 2, 3];

      list[1] = 100;    // これはエラーになる
    }
  
  

また、スプレッド演算子や、その他便利な構文がいくつか紹介されていますので、詳細はドキュメントをご覧ください。

Set

Setは、順序付けられていない、かつ、重複のない値のまとまりを扱うための型です。

  
    void main() {
      var members = { 'AAAAA', 'BBBBB', 'CCCCC' };
    }
  
  

Map

Mapは、key-valueの値を扱うための型です。
Map<String, String>のようにして、key, valueの型を明示できます。
キーはユニークである必要があります。

  
    void main() {
      Map<String, String> gifts = {
        // Key:    Value
        'first': 'partridge',
        'second': 'turtledoves',
        'fifth': 'golden rings'
      };
    }
  
  

いかがでしたでしょうか。
各型がもつメソッドなどについてまではご紹介できていませんが、以降、現れた際に適宜補足できればと思います。

次回は「関数」についてご紹介いたします。

カズキ