【Flutter】Dart言語の基本文法まとめ

おすすめプログラミングスクール

▶︎ 侍エンジニア
Flutterが学習できるプログラミングスクール。エキスパートコースは転職・就職サポート付き
「エキスパートコース」の詳細は無料カウセリングで相談

▶︎ DMM WEBCAMP
自社開発・受託開発企業への転職実績多数。受講開始20日以内なら無条件で全額返金。


▶︎
ポテパンキャンプ
Webエンジニア輩出No.1。開発できる開発企業への転職成功をサポート。全額返金保証あり。


▶︎
テックブースト
フリーランス特化型プログラミングスクール。スクール在籍中に案件受注から納品を体験できる。

Flutter初心者向けの「Dart言語チートシート」です。

Dartの基本的な文法をまとめました。

\ Udemyの最新セール状況をチェック /

サンプル動画・30日間返金保証あり

スポンサーリンク

目次

変数

定義

varの場合

var string = 'Hello World';

「var」を使えば、Stringやintなど型の指定をせず変数を定義(宣言)できます。

String, intなどの場合

String string = 'Hello World';
int num = 100;

変数に代入できる型を指定できます。

Objectの場合

Object string = 'Hello World';
dynamic string2 = 'Hello World2';

Object(またはdynamic)を使えば、型の値を制限せずに変数を定義できます。

主な型の種類

代入できる値
int整数値
double実数
String文字列
bool真偽値
List配列(同じ値を格納可能)
Set配列(同じ値を格納不可)
Map辞書型

主な型の種類は上記の通りです。

定数

const value1 = 'const';
final value2 = 'final';

Dartで定数を宣言する方法は「final」と「const」の2通りあります。

関数(メソッド)

基本的な使い方

void 関数名(引数){
  処理
}
void sum(num1, num2) {
  int sum = num1 + num2;
  print('$num1 + $num2 = $sum');
}

sum(1, 2);

//結果
//1 + 2 = 3

関数は様々な処理を1つにまとめたものに名前をつけ好きな時に呼び出せます。

関数を呼び出す際に値を渡したり、戻り値(返り値)を取得したりできます。

オプション引数・初期値を指定

//初期値なし
void 関数名(引数, {オプション引数1, オプション引数2}) {
  処理
}

オプション引数を使えば、関数の引数に初期値を指定したり、関数を呼び出す際に引数を省略可能にできます。

アロー関数

void 関数名(引数) => 処理;

String 関数名(引数) => 値;

アロー関数を使えば関数を簡略化できます。

VoidCallback(コールバック関数)

(引数){処理}

VoidCallbackはある関数の引数として使用される関数です。

演算子

演算子意味
算術演算子四則計算や除算など計算を行う
比較演算子2つの値を比較する
テスト演算子指定した値の型が指定した型がチェック
代入演算子値を代入する
論理演算子真偽値を返す
三項演算子条件分岐を1文でまとめる
Null合体演算子値がNullの場合に別の値を返す

主な演算子の種類は上記のとおりです。

条件分岐

条件分岐意味
if文比較演算子で実行したい処理を指定したい場合におすすめ
switch文値によって実行したい処理を指定したい場合におすすめ
三項演算子if文の省略形

主な条件分岐は上記の3つです。

ループ処理

ループ処理意味
for初期値・条件式・変化式を指定し反復処理
for-inイテラブルの値を順に取得し反復処理
forEachイテラブルの値を順に取得し反復処理
while条件式が真の間反復処理
do-while条件式が真の間反復処理

主なループ処理は上記の通りです。

break|ループ処理を中断する

for(...){
  処理1
  break;
  処理2
}

break文はfor文やwhile文などのループ処理を途中で中断して抜ける際に使用します。

continue|ループ処理をスキップする

for(...){
  処理1
  continue;
  処理2
}

continue文はfor文やwhile文などのループ処理を途中で中断して抜ける際に使用します。

クラス

void main() {
  var hello = Hello('Taro');
  hello.helloWho();
}

class Hello {
  String name;

  Hello(this.name) {
    print('Hello World');
  }

  void helloWho() {
    print('Hello! ${this.name}');
  }
}

//結果
//Hello World
//Hello! Taro

クラスとは様々なプロパティ(変数)、メソッド(関数)を定義できる設計図のようなものです。

クラスで定義したプロパティ、メソッドをインスタンス化したオブジェクトで使用できます。クラスをインスタンス化する際にコンストラクタで値を渡すことも可能です。

定義

//コンストラクタなし
class クラス名{};


//コンストラクタあり
class クラス名 {
  クラス名() {}
}

クラスの生成(インスタンス化)

var オブジェクト名 = クラス名();
var オブジェクト名 = クラス名(引数);

プロパティ・メソッドの呼び出し

オブジェクト名.プロパティ名;
オブジェクト名.メソッド名();

static|インスタンス化せずに呼び出す

class クラス名 {
  static 型 プロパティ名 = 値;

  static 型 メソッド名() {
    処理
  }
}

クラスのプロパティ・メソッドをstatic修飾子を使って定義することで、クラスをインスタンス化せずクラスのプロパティ・メソッドを使用できます。

extends|サブクラスの生成

class サブクラス名 extends 親クラス名{}

スーパークラス(親クラス)の機能をサブクラス(子クラス)に継承するには「extends」を使用します。

@override|親クラスのメソッドをオーバーライド

@override
void 親クラスのメソッド(){}

親クラスのメソッドなどをオーバーライドするには「@override」で再定義するだけです。

mixin|複数のクラスを継承

mixin クラス名{}
class サブクラス名 with クラス名, クラス名{}
class サブクラス名 extends スーパークラス名 with クラス名{}

複数のクラスを継承したい場合は「mixin」で定義したクラスを「with」で継承します。

列挙型(enum)

enum 列挙型名{
  列挙定数,
  列挙定数,
}

関連した定数をワンセットで定義したい場合は列挙型(enum)を使用できます。

\ Udemyの最新セール状況をチェック /

Udemyの口コミ・評判はこちら

スポンサーリンク

  • URLをコピーしました!
目次