Use Type Annotations for Safer Code

The Dart analyzer can infer types for fields, methods, variables, and more.

But sometimes it needs a little help, and you can use type annotations to ensure variables are of the intended type.

This way, your code won't compile if you use types incorrectly.

Example:

// inferred type: List<dynamic> final allInts = [1, 6, 2.2, 3, 8.12, 4, 9, 'string']; // inferred type: List<int> final allIntsForSure = <int>[1, 6, 2.2, 3, 8.12, 4, 9, 'string']; allInts.add(5); // ok allInts.add(5.0); // ok but unintended allInts.add('I can add anything!'); // ok but unintended allInts.add(true); // ok but unintended allIntsForSure.add(5); // ok allIntsForSure.add(5.0); // error allIntsForSure.add('Will not compile!'); // error

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.