Dart Programming Language

Dart is a programming language developed by Google. It’s primarily used for building web, mobile, and server-side applications. Here are some key features and aspects of Dart programming:

  1. Object-Oriented: Dart is a fully object-oriented language, meaning everything in Dart is an object. It supports features like classes, inheritance, interfaces, mixins, and more.
  2. Strongly Typed: Dart is statically typed, which means you must declare the type of your variables at compile time. However, Dart also supports type inference, so you don’t always have to explicitly declare types.
  3. Asynchronous Programming: Dart provides built-in support for asynchronous programming using futures and async/await syntax. This makes it easy to write code that handles asynchronous operations, such as fetching data from a network or reading files.
  4. Garbage Collection: Dart has automatic memory management through garbage collection, which helps developers avoid memory leaks and manage memory efficiently.
  5. Cross-Platform Development: Dart can be used for building applications across different platforms. Flutter, a popular UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase, uses Dart as its primary language.
  6. Tooling: Dart comes with a set of powerful development tools, including a package manager (Pub), a code formatter (dartfmt), a static analyzer (dartanalyzer), and a debugger. These tools help developers write, format, analyze, and debug Dart code effectively.
  7. Open Source: Dart is an open-source language with a growing community of developers contributing to its ecosystem. It’s actively maintained by Google and the Dart community, with regular updates and improvements.
  8. Growing Ecosystem: Dart has a growing ecosystem of libraries and frameworks beyond Flutter. For example, AngularDart is a framework for building web applications, and Dart’s server-side runtime allows you to build scalable backend services.

Overall, Dart is a modern and versatile programming language that offers a balance of performance, productivity, and simplicity, making it suitable for a wide range of development tasks.

The following example shows simple Dart programming.

void main() {  
  for (int i = 0; i < 5; i++) {  
    print('hello ${i + 1}');  
  }  
}  

In Dart, like in many programming languages, you have various data types, variables, and functions to work with. Let’s explore each of them:

Data Types:

  1. Numbers:
  • int: Integer numbers (e.g., 42)
  • double: Floating-point numbers (e.g., 3.14)

2. Strings:

  • String: Sequence of characters (e.g., “Hello, Dart!”)

3. Booleans:

  • bool: Represents true or false values

4.Lists:

  • List: Ordered collection of items (e.g., [1, 2, 3])

5. Maps:

  • Map: Collection of key-value pairs (e.g., {“name”: “John”, “age”: 30})

6. Dynamic:

  • dynamic: A type that can hold any value, similar to object in other languages

Variables:

Variables in Dart are declared using the var, final, or const keywords followed by the variable name and optionally its type.

  1. var: Declares a variable with dynamic typing.
   var name = 'John';
   var age = 30;
  1. final: Declares an immutable variable, meaning its value cannot be changed once assigned.
   final String name = 'John';
   final int age = 30;
  1. const: Declares a compile-time constant. Like final, its value cannot be changed after assignment, but it’s evaluated at compile time.
   const String name = 'John';
   const int age = 30;

Functions:

Functions in Dart are defined using the void keyword (if they don’t return a value) followed by the function name, parameter list, and optional return type.

  1. Basic Function:
   void greet() {
       print('Hello, Dart!');
   }
  1. Function with Parameters:
   void greet(String name) {
       print('Hello, $name!');
   }
  1. Function with Return Value:
   int add(int a, int b) {
       return a + b;
   }
  1. Arrow Function (Expression Body Syntax):
   int add(int a, int b) => a + b;
  1. Anonymous Function (Lambda / Closure):
   var add = (int a, int b) => a + b;
  1. Optional Parameters:
   void greet(String name, {String greeting = 'Hello'}) {
       print('$greeting, $name!');
   }
  1. Named Parameters:
   void greet({String name, String greeting = 'Hello'}) {
       print('$greeting, $name!');
   }

These are the basics of data types, variables, and functions in Dart. They provide the foundation for building powerful and expressive Dart applications.