Introducció
En aquest tema, aprendrem sobre les variables i els tipus de dades en Dart, el llenguatge de programació utilitzat per Flutter. Les variables són fonamentals en qualsevol llenguatge de programació, ja que ens permeten emmagatzemar i manipular dades. Els tipus de dades defineixen el tipus de valors que una variable pot contenir.
Variables
Declaració de Variables
En Dart, podem declarar variables utilitzant les paraules clau var
, final
, o const
. Aquí teniu una breu explicació de cadascuna:
var
: Utilitzada per declarar una variable que pot canviar el seu valor.final
: Utilitzada per declarar una variable que només es pot assignar una vegada.const
: Utilitzada per declarar una variable constant en temps de compilació.
Exemples de Declaració
void main() { var name = 'John'; // Variable que pot canviar final age = 30; // Variable que no pot canviar després de ser assignada const pi = 3.14; // Variable constant en temps de compilació print(name); // Output: John print(age); // Output: 30 print(pi); // Output: 3.14 }
Tipus de Dades
Dart és un llenguatge amb tipus de dades estàtics, però també pot inferir el tipus de dades automàticament. A continuació, es mostren els tipus de dades més comuns en Dart:
Tipus de Dades Bàsics
- int: Enter
- double: Número decimal
- String: Cadena de text
- bool: Booleà (true o false)
- List: Llista (array)
- Map: Mapa (diccionari)
Exemples de Tipus de Dades
void main() { int age = 25; double height = 5.9; String name = 'Alice'; bool isStudent = true; List<String> colors = ['red', 'green', 'blue']; Map<String, int> scores = {'math': 90, 'science': 85}; print(age); // Output: 25 print(height); // Output: 5.9 print(name); // Output: Alice print(isStudent); // Output: true print(colors); // Output: [red, green, blue] print(scores); // Output: {math: 90, science: 85} }
Inferència de Tipus
Dart pot inferir el tipus de dades d'una variable basant-se en el valor assignat. Això significa que no sempre és necessari especificar el tipus de dades explícitament.
Exemple d'Inferència de Tipus
void main() { var age = 25; // Dart infereix que age és de tipus int var height = 5.9; // Dart infereix que height és de tipus double var name = 'Alice'; // Dart infereix que name és de tipus String var isStudent = true; // Dart infereix que isStudent és de tipus bool print(age.runtimeType); // Output: int print(height.runtimeType); // Output: double print(name.runtimeType); // Output: String print(isStudent.runtimeType); // Output: bool }
Exercicis Pràctics
Exercici 1
Declara una variable var
anomenada city
i assigna-li el valor "Barcelona". Després, imprimeix el valor de city
.
Exercici 2
Declara una variable final
anomenada country
i assigna-li el valor "Spain". Intenta canviar el valor de country
després de la seva assignació i observa què passa.
void main() { final country = 'Spain'; // country = 'France'; // Això donarà un error perquè country és final print(country); // Output: Spain }
Exercici 3
Crea una llista de tres números enters i imprimeix el segon element de la llista.
Resum
En aquesta secció, hem après sobre les variables i els tipus de dades en Dart. Hem vist com declarar variables utilitzant var
, final
, i const
, i hem explorat els tipus de dades bàsics com int
, double
, String
, bool
, List
, i Map
. També hem vist com Dart pot inferir el tipus de dades automàticament. Finalment, hem practicat aquests conceptes amb alguns exercicis pràctics.
En el següent tema, explorarem les sentències de flux de control en Dart, que ens permetran prendre decisions i repetir accions en el nostre codi.
Curs de Desenvolupament Flutter
Mòdul 1: Introducció a Flutter
- Què és Flutter?
- Configuració de l'Entorn de Desenvolupament
- Comprensió de l'Arquitectura de Flutter
- Creació de la Teva Primera Aplicació Flutter
Mòdul 2: Conceptes Bàsics de Programació en Dart
- Introducció a Dart
- Variables i Tipus de Dades
- Sentències de Flux de Control
- Funcions i Mètodes
- Programació Orientada a Objectes en Dart
Mòdul 3: Widgets de Flutter
- Introducció als Widgets
- Widgets Stateless vs Stateful
- Widgets Bàsics
- Widgets de Disseny
- Widgets d'Entrada i Formulari
Mòdul 4: Gestió de l'Estat
Mòdul 5: Navegació i Enrutament
- Introducció a la Navegació
- Navegació Bàsica
- Rutes Nomenades
- Passar Dades Entre Pantalles
- Deep Linking
Mòdul 6: Xarxes i APIs
- Obtenir Dades d'Internet
- Analitzar Dades JSON
- Gestió d'Errors de Xarxa
- Ús d'APIs REST
- Integració de GraphQL
Mòdul 7: Persistència i Emmagatzematge
- Introducció a la Persistència
- Preferències Compartides
- Emmagatzematge de Fitxers
- Base de Dades SQLite
- Ús de Hive per a l'Emmagatzematge Local
Mòdul 8: Conceptes Avançats de Flutter
- Animacions en Flutter
- Pintura Personalitzada i Canvas
- Canals de Plataforma
- Isolates i Concurrència
- Optimització del Rendiment
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries
- Proves de Widgets
- Proves d'Integració
- Tècniques de Depuració
Mòdul 10: Desplegament i Manteniment
- Preparació per al Llançament
- Construcció per a iOS
- Construcció per a Android
- Integració i Desplegament Continu (CI/CD)
- Manteniment i Actualització de la Teva Aplicació