Programmazione Dart - Sintassi

La sintassi definisce un insieme di regole per la scrittura di programmi. Ogni specifica del linguaggio definisce la propria sintassi. Un programma Dart è composto da:

  • Variabili e operatori
  • Classes
  • Functions
  • Espressioni e costrutti di programmazione
  • Processi decisionali e costrutti di ciclo
  • Comments
  • Librerie e pacchetti
  • Typedefs
  • Strutture dati rappresentate come collezioni / generici

Il tuo primo codice freccette

Cominciamo con il tradizionale esempio "Hello World":

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

Il main()funzione è un metodo predefinito in Dart. Questo metodo funge da punto di ingresso per l'applicazione. Uno script Dart necessita dimain() metodo di esecuzione. print() è una funzione predefinita che stampa la stringa o il valore specificato sullo standard output, ovvero il terminale.

L'output del codice precedente sarà:

Hello World!

Esegui un programma di freccette

Puoi eseguire un programma Dart in due modi:

  • Tramite il terminal
  • Tramite l'IDE di WebStorm

Tramite il Terminal

Per eseguire un programma Dart tramite il terminale:

  • Vai al percorso del progetto corrente
  • Digita il seguente comando nella finestra Terminale
dart file_name.dart

Tramite l'IDE di WebStorm

Per eseguire un programma Dart tramite l'IDE WebStorm -

  • Fare clic con il pulsante destro del mouse sul file di script Dart nell'IDE. (Il file dovrebbe contenere l'estensionemain() funzione per abilitare l'esecuzione)

  • Clicca sul ‘Run <file_name>’opzione. Di seguito è riportato uno screenshot dello stesso:

In alternativa è possibile fare clic sul pulsante o utilizzare la scorciatoiaCtrl+Shift+F10 per eseguire lo script Dart.

Opzioni della riga di comando di Dart

Le opzioni della riga di comando Dart vengono utilizzate per modificare l'esecuzione dello script Dart. Le opzioni comuni della riga di comando per Dart includono quanto segue:

Suor n Opzione e descrizione della riga di comando
1 -c or --c

Abilita sia le asserzioni che i controlli del tipo (modalità controllata).

2 --version

Visualizza le informazioni sulla versione della VM.

3 --packages <path>

Specifica il percorso del file di configurazione della risoluzione del pacchetto.

4 -p <path>

Specifica dove trovare le librerie importate. Questa opzione non può essere utilizzata con --packages.

5 -h or --help

Visualizza la guida.

Abilitazione della modalità selezionata

I programmi Dart funzionano in due modalità:

  • Modalità selezionata
  • Modalità di produzione (predefinita)

Si consiglia di eseguire la VM Dart in formato checked modedurante lo sviluppo e il test, poiché aggiunge avvisi ed errori per aiutare lo sviluppo e il processo di debug. La modalità selezionata impone vari controlli come il controllo del tipo ecc. Per attivare la modalità selezionata, aggiungere l'opzione -c o –-checked prima del nome del file di script durante l'esecuzione dello script.

Tuttavia, per garantire prestazioni ottimali durante l'esecuzione dello script, si consiglia di eseguire lo script nel file production mode.

Considera quanto segue Test.dart file di script -

void main() { 
   int n = "hello"; 
   print(n); 
}

Esegui lo script inserendo -

dart Test.dart

Sebbene ci sia una mancata corrispondenza del tipo, lo script viene eseguito correttamente quando la modalità selezionata è disattivata. Lo script produrrà il seguente output:

hello

Ora prova a eseguire lo script con l'opzione "- - selezionata" o "-c" -

dart -c Test.dart

O,

dart - - checked Test.dart

La VM Dart genererà un errore che indica che c'è una mancata corrispondenza del tipo.

Unhandled exception: 
type 'String' is not a subtype of type 'int' of 'n' where 
   String is from dart:core 
   int is from dart:core 
#0  main (file:///C:/Users/Administrator/Desktop/test.dart:3:9) 
#1  _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart :261) 
#2  _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

Identificatori in Dart

Gli identificatori sono nomi dati agli elementi in un programma come variabili, funzioni ecc. Le regole per gli identificatori sono:

Gli identificatori possono includere sia caratteri che cifre. Tuttavia, l'identificatore non può iniziare con una cifra.

  • Gli identificatori non possono includere simboli speciali ad eccezione del carattere di sottolineatura (_) o del simbolo del dollaro ($).

  • Gli identificatori non possono essere parole chiave.

  • Devono essere unici.

  • Gli identificatori fanno distinzione tra maiuscole e minuscole.

  • Gli identificatori non possono contenere spazi.

Le seguenti tabelle elencano alcuni esempi di identificatori validi e non validi:

Identificatori validi Identificatori non validi
nome di battesimo Var
nome di battesimo nome di battesimo
num1 nome di battesimo
$ risultato 1numero

Parole chiave in Dart

Le parole chiave hanno un significato speciale nel contesto di una lingua. La tabella seguente elenca alcune parole chiave in Dart.

astratto 1 Continua falso nuovo Questo
come 1 predefinito finale nullo gettare
asserire differita 1 finalmente operatore 1 vero
asincrono 2 fare per parte 1 provare
asincrono * 2 dinamico 1 ottieni 1 rilanciare typedef 1
attendi 2 altro Se ritorno var
rompere enum attrezzi 1 impostare 1 vuoto
Astuccio esportazione 1 importazione 1 statico 1 mentre
catturare esterno 1 in super con
classe si estende è interruttore resa 2
const fabbrica 1 libreria 1 sincronizzazione * 2 rendimento * 2

Spazi vuoti e interruzioni di riga

Dart ignora gli spazi, le tabulazioni e le nuove righe che appaiono nei programmi. Puoi usare spazi, tabulazioni e nuove righe liberamente nel tuo programma e sei libero di formattare e indentare i tuoi programmi in un modo pulito e coerente che rende il codice facile da leggere e capire.

Dart fa distinzione tra maiuscole e minuscole

Dart distingue tra maiuscole e minuscole. Ciò significa che Dart distingue tra caratteri maiuscoli e minuscoli.

Le dichiarazioni terminano con un punto e virgola

Ogni riga di istruzione è chiamata istruzione. Ogni istruzione dart deve terminare con un punto e virgola (;). Una singola riga può contenere più istruzioni. Tuttavia, queste istruzioni devono essere separate da un punto e virgola.

Commenti in Dart

I commenti sono un modo per migliorare la leggibilità di un programma. I commenti possono essere usati per includere informazioni aggiuntive su un programma come l'autore del codice, suggerimenti su una funzione / costrutto, ecc. I commenti vengono ignorati dal compilatore.

Dart supporta i seguenti tipi di commenti:

  • Single-line comments ( // ) - Qualsiasi testo compreso tra un "//" e la fine di una riga viene considerato come un commento

  • Multi-line comments (/* */) - Questi commenti possono estendersi su più righe.

Esempio

// this is single line comment  
  
/* This is a   
   Multi-line comment  
*/

Programmazione orientata agli oggetti in Dart

Dart è un linguaggio orientato agli oggetti. L'orientamento agli oggetti è un paradigma di sviluppo software che segue la modellazione del mondo reale. Object Orientation considera un programma come una raccolta di oggetti che comunicano tra loro tramite meccanismi chiamati metodi.

  • Object- Un oggetto è una rappresentazione in tempo reale di qualsiasi entità. Come per la spilla Grady, ogni oggetto deve avere tre caratteristiche:

    • State - descritto dagli attributi di un oggetto.

    • Behavior - descrive come agirà l'oggetto.

    • Identity - un valore univoco che distingue un oggetto da un insieme di tali oggetti simili.

  • Class- Una classe in termini di OOP è un modello per la creazione di oggetti. Una classe incapsula i dati per l'oggetto.

  • Method - I metodi facilitano la comunicazione tra gli oggetti.

Esempio: freccette e orientamento dell'oggetto

class TestClass {   
   void disp() {     
      print("Hello World"); 
   } 
}  
void main() {   
   TestClass c = new TestClass();   
   c.disp();  
}

L'esempio sopra definisce una classe TestClass. La classe ha un metododisp(). Il metodo stampa la stringa "Hello World" sul terminale. La nuova parola chiave crea un oggetto della classe. L'oggetto richiama il metododisp().

Il codice dovrebbe produrre quanto segue output -

Hello World