Android
iOS
Dart
Flutter

【Dartメモ】Dartの名前付き引数 (Named Parameter)

Dartでは名前付き引数(Named Parameter)の利用が可能です. 名前付き引数を利用することで,引数の指定誤りを防ぐことができます.


名前付き引数を使わない場合

下記ではPersonクラスを作成し,コンストラクタに名字(last)と名前(first)を引数として渡している.

名前付き引数を利用しない場合,1番目が名字なのか,2番目が名字なのかわからず後々エラーの原因になる可能性がある.

void main() {

var person1 = new Person('Jordan','Micheal');

print(person1);
}

class Person {
String last;
String first;

Person(this.last, this.first);

toString() {
return '$last, $first';
}
}


名前付き引数を使う場合

下記の通り名前付き引数を利用することで,コンストラクタで定義されている引数の順番と異なっていても,正しく初期化ができる.

void main() {

var person1 = new Person(first:'Micheal',last:'Jordan');

print(person1);
}

class Person {
String last;
String first;

Person({this.last, this.first});

toString() {
return '$last, $first';
}
}


引数を必須にする

上記は引数を省略可能であったため,meta.dartをimportし,@requiredのアノテーションを引数に付与することで,必須パラメターとなる.

import 'package:meta/meta.dart';

void main() {
var person1 = new Person(first:'Micheal',last:'Jordan');

print(person1);
}

class Person {
String last;
String first;

Person({@required this.last, @required this.first});

toString() {
return '$last, $first';
}
}