56
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-07-26

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';
  }
}
56
31
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?