En aquest tema, aprendrem sobre les variables i els tipus de dades en Dart. Les variables són fonamentals en qualsevol llenguatge de programació, ja que ens permeten emmagatzemar i manipular dades. Dart ofereix una varietat de tipus de dades que ens permeten treballar amb diferents tipus d'informació de manera eficient.

Continguts

Declaració de Variables

En Dart, podem declarar variables utilitzant les paraules clau var, final o const. També podem especificar el tipus de dada explícitament.

Exemple de Declaració de Variables

void main() {
  // Declaració amb 'var'
  var name = 'John Doe';
  var age = 30;

  // Declaració amb tipus explícit
  String city = 'Barcelona';
  int year = 2023;

  // Declaració amb 'final' i 'const'
  final country = 'Spain';
  const pi = 3.14159;

  print('Name: $name, Age: $age, City: $city, Year: $year, Country: $country, Pi: $pi');
}

Tipus de Dades

Dart suporta diversos tipus de dades, incloent:

  • Númerics: int, double
  • Textuals: String
  • Booleans: bool
  • Llistes: List
  • Mapes: Map
  • Conjunts: Set

Taula de Tipus de Dades

Tipus de Dada Descripció Exemple
int Nombres enters int age = 30;
double Nombres amb decimals double height = 1.75;
String Cadena de text String name = 'Anna';
bool Valor booleà (true o false) bool isStudent = true;
List Col·lecció ordenada de valors List<int> numbers = [1, 2, 3];
Map Col·lecció de parells clau-valor Map<String, int> scores = {'Alice': 90, 'Bob': 85};
Set Col·lecció de valors únics Set<String> fruits = {'apple', 'banana'};

Inferència de Tipus

Dart pot inferir el tipus de dada d'una variable basant-se en el valor assignat. Això es fa utilitzant la paraula clau var.

Exemple d'Inferència de Tipus

void main() {
  var name = 'Alice'; // Dart infereix que 'name' és de tipus String
  var age = 25;       // Dart infereix que 'age' és de tipus int

  print('Name: $name, Age: $age');
}

Const i Final

Les variables declarades amb final o const no poden ser reassignades després de la seva inicialització. La diferència principal entre elles és que const fa que la variable sigui una constant en temps de compilació, mentre que final permet que la variable sigui inicialitzada en temps d'execució.

Exemple de Const i Final

void main() {
  final currentYear = DateTime.now().year; // Pot ser inicialitzat en temps d'execució
  const pi = 3.14159;                      // Ha de ser inicialitzat en temps de compilació

  print('Current Year: $currentYear, Pi: $pi');
}

Exemples Pràctics

Exemple 1: Treballant amb Númerics

void main() {
  int a = 10;
  double b = 5.5;
  double sum = a + b;

  print('Sum: $sum');
}

Exemple 2: Treballant amb Strings

void main() {
  String firstName = 'John';
  String lastName = 'Doe';
  String fullName = '$firstName $lastName';

  print('Full Name: $fullName');
}

Exemple 3: Treballant amb Booleans

void main() {
  bool isRaining = false;
  bool isSunny = true;

  print('Is it raining? $isRaining');
  print('Is it sunny? $isSunny');
}

Exercicis

Exercici 1: Declaració de Variables

Declara variables per emmagatzemar la teva edat, el teu nom i si ets estudiant o no. Imprimeix aquests valors.

Solució

void main() {
  int age = 25;
  String name = 'Maria';
  bool isStudent = true;

  print('Name: $name, Age: $age, Is Student: $isStudent');
}

Exercici 2: Treballant amb Llistes

Crea una llista de tres ciutats i imprimeix-les.

Solució

void main() {
  List<String> cities = ['Barcelona', 'Madrid', 'València'];

  print('Cities: $cities');
}

Exercici 3: Treballant amb Mapes

Crea un mapa per emmagatzemar les puntuacions de tres estudiants i imprimeix-les.

Solució

void main() {
  Map<String, int> scores = {
    'Alice': 90,
    'Bob': 85,
    'Charlie': 95
  };

  print('Scores: $scores');
}

Conclusió

En aquesta secció, hem après com declarar variables i treballar amb diferents tipus de dades en Dart. Hem vist com utilitzar var, final i const, així com la inferència de tipus. També hem explorat exemples pràctics i exercicis per reforçar els conceptes apresos. En la següent secció, ens endinsarem en els operadors en Dart.

© Copyright 2024. Tots els drets reservats