「Dart」の版間の差分
ナビゲーションに移動
検索に移動
(→Runes) タグ: モバイルウェブ編集 モバイル編集 |
(→パッケージ) |
||
27行目: | 27行目: | ||
*ローカルは相対パス(dart:省略) | *ローカルは相対パス(dart:省略) | ||
*pubパッケージマネージャ | *pubパッケージマネージャ | ||
+ | ====パッケージから特定のオブジェクトのみimportする==== | ||
+ | *import [package] show [objects] | ||
+ | import 'package:google_sign_in/google_sign_in.dart' | ||
+ | show GoogleSignIn, GoogleSignInAccount; | ||
+ | |||
===Hello=== | ===Hello=== | ||
*hello.dart | *hello.dart |
2020年5月2日 (土) 02:14時点における版
Dart
Flutter |
基本
Install
Windows
Mac
- https://dart.dev/get-dart
- install
- $ brew tap dart-lang/dart
- $ brew install dart
- update
- $ brew upgrade dart
DartPad
APIリファレンス
パッケージ
- Dart標準は、dart:
- import 'dart:html';
- ローカルは相対パス(dart:省略)
- pubパッケージマネージャ
パッケージから特定のオブジェクトのみimportする
- import [package] show [objects]
- import 'package:google_sign_in/google_sign_in.dart'
- show GoogleSignIn, GoogleSignInAccount;
Hello
- hello.dart
- void main() {
- print("Hello Dart!");
- }
- 実行
- >dart hello.dart
- Hello Dart!
型
数値
numのサブクラス
- int
- double
真偽
- bool
文字列
String
補完
- ${}
- print("Hello ${this.name}.");
リテラル
- 一重、二重引用符
- 引用符3�つ重ねで複数行
StringBuffer
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){}
オブジェクト指向
- https://dart.dev/guides/language/language-tour#classes
- Dartはクラスとミックスインベースのインターフェースによるオブジェクト指向言語。
- すべてのオブジェクトはクラスのインスタンスでObjectの子孫
キーワード
- 継承 extends
- 継承元呼び出し super
- オーバーライド @overrideアノテーション
クラス
非同期処理
- asyncパッケージをインポート
- import 'dart:async';
言語サンプル
File
© 2006 矢木浩人