Language 9 of 10 · Topic 0.6

Control Flow: Collection For, Collection If & Spread Operators

1Concept

Dart features Collection If and Collection For directly inside list literals, heavily used for building dynamic Flutter UI widget trees.

2Architecture Diagram

[
  Header(),
  if (isLoggedIn) UserProfile() else LoginButton(),
  for (var item in list) ItemTile(item)
]

3Code Example

Stage 0 Language Foundations
void main() {
  bool isPro = true;
  var tags = ['Dart', 'Flutter'];

  var features = [
    'Basic Simulator',
    if (isPro) 'Pro Resume Grounding',
    for (var t in tags) 'Track: $t',
    ...['50 Questions', 'AI Feedback']
  ];

  print('Features list: $features');
}

4Expected Output

Features list: [Basic Simulator, Pro Resume Grounding, Track: Dart, Track: Flutter, 50 Questions, AI Feedback]

5Key Takeaways

  • Collection if/for builds dynamic Flutter widget trees declaratively.
  • Spread operator (...) inlines iterable elements.
  • Null-aware spread (...?) safely ignores null lists.