print în Dart

Afișează o valoare pe ecran (ieșirea standard), urmată de un rând nou.

Sintaxă
void print(Object? object)

Ce face print

print este funcția cu care afișezi orice în Dart. Primește o singură valoare, de orice tip, o transformă în text cu metoda ei toString() și o scrie pe ecran, apoi trece la rând nou. Nu trebuie să imporți nimic: face parte din dart:core, care este inclus automat.

Pentru a afișa mai multe valori pe același rând le pui într-un singur text cu interpolare: print('Ana are $varsta ani'). Pentru expresii folosești acolade: print('Total: ${pret * 2} lei'). Listele, map-urile și seturile se afișează direct: [1, 2, 3], {Iași: 5}.

print pune mereu rândul nou la final. Dacă vrei să scrii fără rând nou, folosește stdout.write din dart:io. Pentru clasele tale, suprascrie toString() ca să controlezi ce afișează print.

Parametri

Parametru Descriere
object Valoarea de afișat. Poate fi null: se afișează textul null.

Ce returnează

Nimic (void).

Exemple

Exemplul 1: Afișarea textului și a numerelor

Interpolarea cu $ pune valoarea variabilei în text; ${...} calculează o expresie.

void main() {
  var nume = 'Ana';
  var varsta = 21;
  var pret = 12.5;
  print('Salut, $nume!');
  print('$nume are $varsta de ani.');
  print('Două cafele costă ${pret * 2} lei.');
  print(varsta);
  print(null);
}

Rezultat

Salut, Ana!
Ana are 21 de ani.
Două cafele costă 25.0 lei.
21
null

Exemplul 2: Colecții și obiecte

Listele, map-urile și seturile au un toString() util. O clasă fără toString() propriu afișează doar Instance of 'Clasa'.

class Student {
  final String nume;
  Student(this.nume);
}

class Oras {
  final String nume;
  Oras(this.nume);

  @override
  String toString() => 'Oraș: $nume';
}

void main() {
  print([9, 7, 10]);
  print({'Iași': 5, 'Cluj': 2});
  print({'mere', 'pere'});
  print(Student('Ana'));
  print(Oras('Brașov'));
}

Rezultat

[9, 7, 10]
{Iași: 5, Cluj: 2}
{mere, pere}
Instance of 'Student'
Oraș: Brașov

Greșeli frecvente

  • Scrii print('Ana', 21), ca în alte limbaje. print primește un singur argument; pune valorile într-un text: print('Ana $varsta').
  • Uiți acoladele la expresii: '$nota.medie' afișează valoarea lui nota urmată de textul .medie. Scrie '${nota.medie}'.
  • Afișezi un obiect al clasei tale și primești Instance of 'Student'. Adaugă o metodă toString() în clasă.

Comenzi înrudite

  • Object.toString: Returnează textul care descrie obiectul; îl folosesc print și interpolarea. Îl suprascrii în clasele tale.
  • StringBuffer: Construiește un text din multe bucăți, eficient; la final toString() dă textul, iar clear() îl golește.
  • String: Tipul pentru text în Dart: un șir de caractere care nu se mai poate modifica după creare.