| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Dart」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
1行目: 1行目:
==Dart==
+
==[[Dart]]==
 
[[Flutter]] |  
 
[[Flutter]] |  
  
8行目: 8行目:
 
==基本==
 
==基本==
 
===Install===
 
===Install===
====Windows====
+
====[[Windows]]====
 
*http://www.gekorm.com/dart-windows/
 
*http://www.gekorm.com/dart-windows/
  
====Mac====
+
====[[Mac]]====
 
*https://dart.dev/get-dart
 
*https://dart.dev/get-dart
 
  $ brew tap dart-lang/dart
 
  $ brew tap dart-lang/dart
 
  $ brew install dart
 
  $ brew install dart
===DartPad===
+
===[[Dart]]Pad===
 
*https://dartpad.dartlang.org/
 
*https://dartpad.dartlang.org/
 
===APIリファレンス===
 
===APIリファレンス===
 
*https://api.dart.dev/stable/2.5.0/index.html
 
*https://api.dart.dev/stable/2.5.0/index.html
 
===パッケージ===
 
===パッケージ===
*Dart標準は、dart:
+
*[[Dart]]標準は、dart:
 
  import 'dart:html';
 
  import 'dart:html';
 
*ローカルは相対パス(dart:省略)
 
*ローカルは相対パス(dart:省略)
27行目: 27行目:
 
*hello.dart
 
*hello.dart
 
  void main() {
 
  void main() {
     print("Hello Dart!");
+
     print("Hello [[Dart]]!");
 
  }
 
  }
 
*実行
 
*実行
 
  >dart hello.dart
 
  >dart hello.dart
  Hello Dart!
+
  Hello [[Dart]]!
 
==型==
 
==型==
 
===数値===
 
===数値===
49行目: 49行目:
 
*一重、二重引用符
 
*一重、二重引用符
 
*引用符3�つ重ねで複数行
 
*引用符3�つ重ねで複数行
====Runes====
+
====[[R]]unes====
 
*UTF-32型の文字
 
*UTF-32型の文字
 
*絵文字などの表現
 
*絵文字などの表現
73行目: 73行目:
 
======
 
======
 
====Symbol====
 
====Symbol====
*Dartの構文での演算子や識別子
+
*[[Dart]]の構文での演算子や識別子
 
====Functions====
 
====Functions====
 
*関数
 
*関数
117行目: 117行目:
 
====デフォルト引数====
 
====デフォルト引数====
 
  int someFunc4(int a, {int b = 2})
 
  int someFunc4(int a, {int b = 2})
====無名関数(ラムダ、クロージャ)====
+
====無名関数(ラムダ、[[クロージャ]])====
 
  list.forEach((item) => print(item));
 
  list.forEach((item) => print(item));
 
====ブロック====
 
====ブロック====
 
*変数のスコープ分離
 
*変数のスコープ分離
====クロージャ====
+
====[[クロージャ]]====
 
*変数のスコープから外れても利用できる
 
*変数のスコープから外れても利用できる
 
====カスケード表記====
 
====カスケード表記====
147行目: 147行目:
 
==オブジェクト指向==
 
==オブジェクト指向==
 
*https://dart.dev/guides/language/language-tour#classes
 
*https://dart.dev/guides/language/language-tour#classes
*Dartはクラスとミックスインベースのインターフェースによるオブジェクト指向言語。
+
*[[Dart]]はクラスとミックスインベースのインターフェースによるオブジェクト指向言語。
 
*すべてのオブジェクトはクラスのインスタンスでObjectの子孫
 
*すべてのオブジェクトはクラスのインスタンスでObjectの子孫
  
159行目: 159行目:
 
*asyncパッケージをインポート
 
*asyncパッケージをインポート
 
  import 'dart:async';
 
  import 'dart:async';
==言語サンプル==
+
==[[言語]]サンプル==
 
*https://dart.dev/samples
 
*https://dart.dev/samples
  
 
===File===
 
===File===
 
*https://api.dart.dev/stable/2.5.0/dart-io/File-class.html
 
*https://api.dart.dev/stable/2.5.0/dart-io/File-class.html

2020年2月16日 (日) 04:23時点における版

Dart

Flutter |

基本

Install

Windows

Mac

$ brew tap dart-lang/dart
$ brew install dart

DartPad

APIリファレンス

パッケージ

  • Dart標準は、dart:
import 'dart:html';
  • ローカルは相対パス(dart:省略)
  • pubパッケージマネージャ

Hello

  • hello.dart
void main() {
    print("Hello Dart!");
}
  • 実行
>dart hello.dart
Hello Dart!

数値

numのサブクラス

  • int
  • double

真偽

  • bool

文字列

String

補完
  • ${}
print("Hello ${this.name}.");

リテラル

  • 一重、二重引用符
  • 引用符3�つ重ねで複数行

Runes

  • UTF-32型の文字
  • 絵文字などの表現

コレクション

List

  • []
  • add
  • insert
  • removeAt
  • indexOf
  • sort
  • shuffle
  • forEach
  • every
  • map
  • reduce

Map

  • {}
  • remove
  • addAll
  • forEach
  • containsKey

==

Symbol

  • Dartの構文での演算子や識別子

Functions

  • 関数

Enum

  • 列挙

文法

基本

  • セミコロン必須

エントリーポイント

  • void main() もしくは、void main(List<String> args)

コメント

  • //
  • /*...*/

変数

var

  • 型推論
  • 初期値null
  • 型宣言

定数

final

  • 再代入不可

const

  • コンパイル時点で評価
オブジェクトの変更禁止
final List<int> list1 = [1, 2, 3];
list1.add(4); // [1, 2, 3, 4]  
List<int> list2 = const [1, 2, 3];
list2.add(4); // エラーが発生

関数

  • 第1級オブジェクト
  • 宣言

<blockquote>常</blockquote>

int someFunc2(int a, int b) {  
  return a + b; 
}

1行

bool isHoge(String str) => str == "hoge";

引数の指定

someFunc3(a: 1, b: 2, c: 3);

オプション引数

String conc(String a, String b, [String c])

デフォルト引数

int someFunc4(int a, {int b = 2})

無名関数(ラムダ、クロージャ)

list.forEach((item) => print(item));

ブロック

  • 変数のスコープ分離

クロージャ

  • 変数のスコープから外れても利用できる

カスケード表記

  • ..でインスタンスの記述を省略できる
  • メソッドを連続で呼び出すことができる

演算子

型演算子

  • as
  • is
  • is!

条件付きメンバアクセス

  • ?.

構文

try catch

  • 例外チェックは行わない
try {  
} on Exception catch (e) {
} catch (e, s) {
    // sはスタックトレース
} finally{}

ジェネリクス

void hoge(List<T> list){}

オブジェクト指向

キーワード

  • 継承 extends
  • 継承元呼び出し super
  • オーバーライド @overrideアノテーション

クラス

非同期処理

  • asyncパッケージをインポート
import 'dart:async';

言語サンプル

File