Un po' di linguaggio Dart - 1

Prima di affrontare l'installazione dell'ambiente di sviluppo e l'utilizzo di Flutter credo sia il caso di ripassare un po' il linguaggio Dart, creato da Google nel 2011 con l'obiettivo di sostituire JavaScript.

Parlo di ripassare perché per chi ha un minimo di dimestichezza con JavaScript, Java o linguaggi simili C-style, le differenze sono davvero poche, e quindi nei passi successivi cercherò di porre il focus sulle caratteristiche uniche di Dart e non sulle similitudini (for, switch, if, ...).

Per esercitarsi, senza la necessità di installare nulla, vi consiglio di utilizzare DartPad: una semplice web-app dove poter eseguire codice Dart in modo molto facile.

La definizione delle variabili

La definizione di una variabile in ambiente Dart segue la seguente sintassi generale:


  // (modificatore opzionale) (tipo opzionale) nomeVariabile = valore;
  final int punti = 25// modificatore final, tipo int


Come per altri linguaggi, prima si dichiara il tipo, quindi il nome della variabile e poi opzionalmente il valore (se non assegnato il valore di default è null ). 

Scriviamo dei brevi programmi in Dart per spiegare l'uso delle variabili.

I tipi base 

Tra i tipi base troviamo bool, int, double e num


  void main() {
    bool si = true;
    bool no = false;
    int intero = 25;
    double decimale = 3.14;
    num numero = 24601;
    int nulla;

    print(intero);
    print(decimale);
    print(numero);
    print(si);
    print(no);
    print(nulla == null);
  }


Variabili non tipizzate 

In Dart è previsto un particolare tipo di dato, dynamic che se utilizzato, come un jolly, implica che la variabile può rappresentare qualsiasi tipo di dato. 


  void main() {
    dynamic qualsiasi = 3.14;

    print(qualsiasi.runtimeType); // 'double'
  }


Variabili con tipo interpolato 

Se l'indicazione del tipo non è esplicita, utilizzando invece il tipo var, Dart assegnerà alla variabile il tipo determinato dal valore della prima assegnazione (tipo che successivamente non sarà più possibile cambiare). 


  void main() {
    var intero = 25;
    var decimale = 3.14;
    var logico = true;
    print(intero.runtimeType);   // 'int'
    print(decimale.runtimeType); // 'double'
    print(logico.runtimeType);   // 'bool'
  }


Variabili non ... variabili

Infine Dart prevede i tipi final e const per indicare variabile il cui valore è fisso e non modificabile (con o senza indicazione esplicita del tipo se si usa final). La differenza tra i due tipi consiste nel fatto che le variabili const devono poter essere valutate in fase di compilazione (e non solo a runtime). Se si usa il modificatore final con un oggetto, sarà comunque possibile cambiare il valore dei suoi campi.


  void main() {
    final int intero = 25;
    final double decimale = 3.15;

    final interoInterpolato = 5;
    final decimaleInterpolato = 6.28;
    print(interoInterpolato);
    print(decimaleInterpolato);

    const logico = true;
    print(logico);
  }


Per oggi può bastare.

La prossima volta vedremo come gestire le stringhe. Intanto potete trovare gli script utilizzati negli esempi tra le mie repo GitHub: https://github.com/luigimicco/dart-base

Commenti