mencetak properti objek di Dart [duplikat]
Saya memiliki file Dart sederhana:
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);
}
Saya hanya ingin mencetak print("person name $person1.name ");
, dan saya ingin keluaran sebagai person name Rajesh
. Tetapi saya mendapatkan keluaran sebagai person name Instance of 'Person'.name
.
Butuh bantuan, saya baru mengenal Dart. `
Jawaban
Anda harus menggunakan ini:
print("person name ${person1.name} ");
sebagai alternatif, Anda dapat mengganti toString
di kelas:
@override
String toString() {
return '''
person name $name
''';
}
kemudian:
print(person1);
Anda mungkin bermaksud:
print("person name: ${person1.name} ");
Ingatlah bahwa Anda dapat menentukan toString()
metode di kelas:
class Person {
String name;
int age;
String toString() => "${name} is ${age} years old";
}
dan gunakan sebagai berikut:
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
}
Di sini, kesalahannya ada pada string interpolasi . Secara umum, saat Anda menggunakan lebih dari satu objek, Anda harus menggunakan bentuk penuh dari interpolasi string, ${}
bukan hanya $
.
Untuk kode Anda, lakukan ini sebagai gantinya:
print('person name : ${person1.name}');
Semoga bermanfaat bagi Anda.