Sobes.tech
Junior

Vorbește despre operatorii în limbajul de programare Dart.

sobes.tech AI

Răspuns de la AI

Operatorii în Dart sunt folosiți pentru a efectua operații asupra variabilelor și valorilor.

Categoriile principale de operatori:

  • Atribuire: Atribuie o valoare unei variabile.
    int a = 10; // Atribuire
    a += 5; // a = a + 5
    a ??= 0; // Atribuie 0 dacă a este null
    
  • Aritmetic: Efectuează operații matematice.
    int suma = 5 + 3;
    int diferență = 10 - 2;
    int produs = 4 * 6;
    double împărțire = 15 / 3;
    int rest = 10 % 3; // Restul împărțirii
    a++; // Incrementare
    b--; // Decrementare
    
  • Relational: Compară două valori și returnează o valoare booleană.
    bool esteEgal = (5 == 5);
    bool nuEsteEgal = (10 != 5);
    bool esteMaiMare = (7 > 2);
    bool esteMaiMic = (3 < 8);
    bool esteMaiMareSauEgal = (4 >= 4);
    bool esteMaiMicSauEgal = (6 <= 10);
    
  • Lógico: Efectuează operații logice asupra valorilor booleene.
    bool rezultatAnd = true && false;
    bool rezultatOr = true || false;
    bool rezultatNot = !true;
    
  • Tip: Verifică tipul obiectului în timpul execuției.
    var obiectulMeu = "Salut";
    bool esteString = obiectulMeu is String; // Verificare tip
    bool esteInt = obiectulMeu is int;
    String? poateFiString;
    int? rezultat = poateFiString as int?; // Conversie de tip (nesigură)
    
  • Condițional: Permite executarea de cod în funcție de o condiție.
    var x = 10;
    var y = (x > 5) ? "mai mare de 5" : "mai mic sau egal cu 5"; // Operator ternar
    var z = null;
    var valoare = z ?? "valoare implicită"; // Operator '??'
    
  • Operatori în cascadă (..): Permite apelarea mai multor metode sau atribuirea valorilor proprietăților aceluiași obiect în succesiune.
    var sb = StringBuffer();
    sb..write("Salut")
      ..write(" ")
      ..write("lume!");
    
  • Operator de acces sigur la null (?): Este folosit pentru a preveni erorile atunci când se lucrează cu tipuri nullable.
    String? stringNull;
    int? lungime = stringNull?.length; // Returnează null dacă stringNull este null
    
  • Operator de propagare (... / ...?): Este folosit pentru a include toate elementele unei liste într-o altă listă. ...? este sigur pentru null.
    var lista1 = [1, 2, 3];
    var lista2 = [0, ...lista1, 4]; // [0, 1, 2, 3, 4]
    var listaNull = null;
    var lista3 = [0, ...?listaNull, 4]; // [0, 4]
    

Prioritatea operatorilor (ordinea de executare) determină în ce ordine se efectuează operațiile în expresie.