Dart リスト(配列)を初期化(クリア)する

Dart リスト(配列)を初期化(クリア)する

Dartで、リスト(配列)を初期化(クリア)するコードを記述してます。「 clear 」を使用すれば初期化は可能です。定数「const」で定義された定数に使用するとエラーが発生します。

環境

  • OS windows11 home
  • Dart 2.18.4

リストを初期化

リスト(配列)を初期化するには「 clear 」を使用します。

リスト.clear

実際に使用して初期化してみます。

void main() {

  var list = [1, 2, 3];

  list.clear();

  print(list); // []  

  print(list.length); // 0
  
}

実行結果を見ると、初期化されていることが確認できます。

初期化したものを初期化しても結果は同じです。

void main() {
  var list = [1, 2, 3];

  list.clear();

  print(list); // []

  print(list.length); // 0

  list.clear();

  print(list); // []

  print(list.length); // 0
}

定数

「const」で宣言したリストを初期化しようとするとエラーが発生します。

void main() {

  const list = [1, 2, 3];

  list.clear();

  print(list);

  print(list.length);
  
}

Unhandled exception:
Unsupported operation: Cannot clear an unmodifiable list
#0      UnmodifiableListMixin.clear (dart:_internal/list.dart:159:5)
#1      main (file:///c:/sample/test.dart:5:8)
#2      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#3      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)

「final」の場合は、メモリ領域は変更できるようなのでエラーにはなりません。

void main() {
  final list = [1, 2, 3];

  list.clear();

  print(list); // []

  print(list.length); // 0

  list.add(1);

  list.clear();

  print(list); // []

  print(list.length); // 0
}