Study
Dart

Collection If/For & Spread Operator di Dart

Penjelasan

Dart mengizinkan `if` dan `for` ditulis LANGSUNG di dalam literal List/Map/Set (disebut collection if & collection for) — cara ringkas membangun koleksi secara kondisional/berulang tanpa perlu membuat list kosong lalu diisi lewat loop terpisah. Spread operator `...` (atau `...?` untuk yang nullable) meratakan isi satu koleksi ke dalam koleksi lain. Ketiganya sangat umum dipakai di kode widget Flutter.

Contoh Konsep

void main() {
  bool tampilkanExtra = true;

  var menu = [
    "Nasi Goreng",
    "Mie Ayam",
    if (tampilkanExtra) "Es Teh",   // collection if, cuma masuk kalau kondisi true
  ];

  var angka = [1, 2, 3];
  var kuadrat = [
    for (var n in angka) n * n,      // collection for, hasil transformasi tiap elemen
  ];
  print(kuadrat);   // [1, 4, 9]

  var listA = [1, 2];
  var listB = [3, 4];
  var gabungan = [...listA, ...listB, 5];   // spread operator
  print(gabungan);   // [1, 2, 3, 4, 5]
}

Praktikum

Buat list genap berisi semua bilangan genap dari list angka = [1,2,3,4,5,6,7,8,9,10] memakai collection for + if di dalam satu literal list.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Collection if/for membuat kode Flutter (yang isinya sering "daftar widget") jauh lebih ringkas — daripada bikin list kosong lalu diisi lewat forEach terpisah, kondisinya bisa langsung ditulis di dalam literal list widget itu sendiri.