Prefer const over final over var

When declaring variables in Dart, prefer const over final over var:

  • const is for hardcoded, compile-time constants
  • final is for read-only variables that are set just once
  • var is for variables that are set more than once

The static analyzer will help you choose wisely. 🙂

Example:

void main() {
  // compile-time constant
  const favourite = 'I like pizza with tomatoes';
  // read-only variable, set just once
  final newFavourite = favourite.replaceAll('pizza', 'pasta');
  // read/write variable, set more than once
  var totalSpaces = 0;
  for (var i = 0; i < newFavourite.length; i++) {
    final c = newFavourite[i];
    if (c == ' ') {
      totalSpaces++;
    }
    print('Counted $totalSpaces spaces');
  }
}

Want More?

Invest in yourself with my high-quality Flutter courses.

Flutter in Production

Flutter in Production

Learn about flavors, environments, error monitoring, analytics, release management, CI/CD, and finally ship your Flutter apps to the stores. 🚀

Flutter Foundations Course

Flutter Foundations Course

Learn about State Management, App Architecture, Navigation, Testing, and much more by building a Flutter eCommerce app on iOS, Android, and web.

Flutter & Firebase Masterclass

Flutter & Firebase Masterclass

Learn about Firebase Auth, Cloud Firestore, Cloud Functions, Stripe payments, and much more by building a full-stack eCommerce app with Flutter & Firebase.

The Complete Dart Developer Guide

The Complete Dart Developer Guide

Learn Dart Programming in depth. Includes: basic to advanced topics, exercises, and projects. Last updated to Dart 2.15.

Flutter Animations Masterclass

Flutter Animations Masterclass

Master Flutter animations and build a completely custom habit tracking application.