Le basi di Dart: Una guida introduttiva per principianti - Capitolo 1 + Esercizi

2
minuti
25/3/25

Dart è un linguaggio di programmazione moderno, flessibile e versatile, sviluppato da Google, utilizzato principalmente per lo sviluppo di applicazioni Flutter.

In questa corso, esploreremo i concetti chiave del linguaggio, fornendo esercizi pratici per rafforzare le conoscenze fino a diventare dei veri esperti!

The main method

Il metodo main è il punto di ingresso di un'applicazione Dart.

Ogni programma Dart inizia la sua esecuzione da qui.

void main() {
 print("Benvenuto in Dart!");
}

Cosa fa?

  1. Il metodo main è definito con la parola chiave void, indicando che non restituisce alcun valore.
  1. Il comando print viene utilizzato per visualizzare un messaggio in console.

Hello World

Il classico primo passo per imparare un linguaggio di programmazione è creare un programma che stampi "Hello World!".

void main() {
 print("Hello, World!");
}

Prova a eseguirlo! Vedrai il messaggio "Hello, World!" apparire nella console.

Variable declaration and Initialization

In Dart, puoi dichiarare variabili usando le parole chiave var, final, o const.

void main() {
 var nome = "Mario";
 final eta = 25;
 const pi = 3.14;

 print("Nome: $nome");
 print("Età: $eta");
 print("Pi Greco: $pi");
}
  • var: Variabile modificabile.
  • final: Non può essere riassegnata, ma il valore può essere calcolato a runtime.
  • const: Valore immutabile e determinato a compile-time.

Basic types

Dart supporta i tipi di dati fondamentali, tra cui:

  • int: Numeri interi (int numero = 10;)
  • double: Numeri decimali (double prezzo = 9.99;)
  • bool: Valori booleani (bool isTrue = true;)
  • String: Testo (String messaggio = "Ciao!";)

(Esercizio) Printing variables

Scrivi un programma che dichiari variabili per il tuo nome, età e città, e stampi queste informazioni in console.

String concatenation & Interpolation

Puoi unire stringhe usando l'operatore + o tramite interpolazione con $.

void main() {
 String nome = "Mario";
 String saluto = "Ciao, " + nome + "!";
 print(saluto);

 // Interpolazione
 print("Ciao, $nome!");
}

(Esercizio) String interpolation

Dichiara due variabili, nome e cognome, e utilizza l'interpolazione per stampare il messaggio "Il tuo nome completo è: [Nome Cognome]".

String escaping

Per utilizzare caratteri speciali come virgolette o backslash, usa il carattere \.

void main() {
 print("Questa è una \"stringa\" con virgolette.");
 print("Percorso: C:\\Utenti\\Documenti");
}

Multi-line Strings

Puoi definire stringhe multi-linea usando tre apici singoli o doppi.

void main() {
 String descrizione = '''Questa è
una stringa
multi-linea.''';
 print(descrizione);
}

Basic string Operations

Puoi modificare una stringa con metodi come toUpperCase() e toLowerCase().

void main() {
 String nome = "Mario";
 print(nome.toUpperCase()); // MARIO
 print(nome.toLowerCase()); // mario
}


Initialization vs Assignment

L'inizializzazione avviene al momento della dichiarazione, mentre l'assegnazione può avvenire successivamente.

void main() {
 var nome;
 nome = "Mario"; // Assegnazione
 print(nome);
}

(Esercizio) Lowercase and Uppercase strings

Chiedi all'utente di inserire una stringa e stampa la versione in maiuscolo e minuscolo.

Finding and Replacing strings

void main() {
 String frase = "Ciao, Mario!";
 print(frase.replaceAll("Mario", "Luca")); // Ciao, Luca!
}


Conversions between Types

Dart permette di convertire tipi di dati, ad esempio da String a int o viceversa.

void main() {
 String numero = "42";
 int n = int.parse(numero);
 print(n + 8); // 50
}

Arithmetic Operations

Dart supporta operatori aritmetici come +, -, *, /.

void main() {
 int a = 10;
 int b = 5;
 print(a + b); // 15
}

(Esercizio) Temperature Conversion

Scrivi un programma che converta una temperatura da Celsius a Fahrenheit. Formula: (C * 9/5) + 32.

Increment & Decrement Operators

Gli operatori ++ e -- aumentano o diminuiscono di 1 il valore di una variabile.

void main() {
 int x = 5;
 x++;
 print(x); // 6
}

Logical & Relational Operators

Dart supporta operatori logici come &&, ||, e !, oltre agli operatori relazionali <, >, <=, >=, ==, !=.

void main() {
 print(5 > 3 && 2 < 4); // true
}

Ternary Access Operator

L'operatore ternario semplifica espressioni condizionali.

void main() {
 int eta = 20;
 String messaggio = (eta >= 18) ? "Adulto" : "Minorenne";
 print(messaggio);
}

Hex Format, Bitwise & Shifting Operators

Dart supporta operazioni a livello di bit come AND (&), OR (|), XOR (^), e shift (<<, >>).

void main() {
 int x = 5; // 0101 in binario
 int y = 3; // 0011 in binario
 print(x & y); // 1
}

Commenti

I commenti migliorano la leggibilità del codice.

// Questo è un commento su una riga.

/*
Questo è un
commento su più righe.
*/

Expressions & Statements

  • Expression: Un'unità di codice che restituisce un valore (es. 5 + 3).
  • Statement: Un'istruzione completa che compie un'azione (es. print(5 + 3);).

Dart è un linguaggio molto potente, ideale per lo sviluppo di app con Flutter.

Con queste basi, sei pronto per iniziare a esplorare il mondo della programmazione in Dart! 😊

Hai completato gli esercizi? prosegui con il prossimo capitolo.

Allora sei pronto per il Capitolo 2.

Se invece hai domande in merito, non esitare a contattarmi.

(Approfondimento) Funzioni Asincrone

Contattami

Hai domande sulla progettazione web
o sui servizi offerti?
Sarà un piacere assisterti.