Hello Dart

以下の記事を見て、Dartに興味をもったので入門してみました。

インストールは公式ページの手順通りに、brewで実施しました。

Hello World

$ cat helloWorld.dart 
main() {
  print('Hello World');
}

dart には、Optional parameters という引数の一部をオプショナル化 *1する機能も有るようです。試してみました。

$ cat hello.dart 
main() {

  // オブジェクトを初期化
  Hello hello = new Hello();

  // 引数を渡さないパターン
  hello.sayHello();

  // 引数を渡すパターン
  hello.sayHello("matsuzaki");

}

class Hello {

  // 引数を [] で囲むと、 optional positional parameters
  // という特殊なフィールドとしてマークされる
  // メソッド呼び出し時にoptional positional parametersが渡されない場、代わりにnullが入る
  void sayHello([String msg]){
    // ?? 演算子は左辺がnullの場合、右辺を返す
    print( 'Hello ' + '${msg ?? 'world'}');
  }

}

実行結果です。

$ dart hello.dart 
Hello world
Hello matsuzaki
/* https://sunrise033.com/entry/hatena-blog-how-to-hierarchicalize-categories */