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.printprimește un singur argument; pune valorile într-un text:print('Ana $varsta'). - Uiți acoladele la expresii:
'$nota.medie'afișează valoarea luinotaurmată 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.