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.
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.