Objekteigenschaften in Dart drucken [duplizieren]
Ich habe eine einfache Dart-Datei:
class Person {
String name;
int age;
}
void main() {
var person1 = Person();
person1.name = 'Rajesh';
person1.age = 20;
print("person name $person1.name ");
print(person1.name);
}
Ich möchte nur drucken print("person name $person1.name ");
und ich möchte als ausgeben person name Rajesh
. Aber ich bekomme Ausgabe als person name Instance of 'Person'.name
.
Brauche etwas Hilfe, ich bin neu bei Dart. `
Antworten
Sie müssen dies verwenden:
print("person name ${person1.name} ");
Alternativ können Sie toString
in der Klasse überschreiben :
@override
String toString() {
return '''
person name $name
''';
}
dann:
print(person1);
Sie meinten wahrscheinlich:
print("person name: ${person1.name} ");
Denken Sie daran, dass Sie toString()
in der Klasse eine Methode angeben können :
class Person {
String name;
int age;
String toString() => "${name} is ${age} years old";
}
und benutze es wie folgt:
class Person {
String name;
int age;
String toString() => "${this.name} is ${this.age} years old";
}
void main() {
Person person = new Person();
person.name = "John";
person.age = 25;
print(person); // John is 25 years old
}
Hier liegt der Fehler in der Interpolationszeichenfolge . Wenn Sie mehr als ein Objekt verwenden, sollten Sie im Allgemeinen die vollständige Form der Zeichenfolgeninterpolation verwenden ${}
und nicht nur $
.
Führen Sie für Ihren Code stattdessen Folgendes aus:
print('person name : ${person1.name}');
Ich hoffe, das wird Ihnen nützlich sein.