Dartでオブジェクトのプロパティを印刷する[複製]
Dec 10 2020
簡単なDartファイルがあります。
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);
}
印刷したいだけでprint("person name $person1.name ");
、出力をperson name Rajesh
。として出力したい。しかし、私はとして出力を取得していますperson name Instance of 'Person'.name
。
助けが必要です、私はダートに不慣れです。`
回答
2 BeHappy Dec 10 2020 at 22:24
これを使用する必要があります:
print("person name ${person1.name} ");
またはtoString
、クラスでオーバーライドできます。
@override
String toString() {
return '''
person name $name
''';
}
その後:
print(person1);
1 StefanoA. Dec 10 2020 at 22:28
あなたはおそらく意味しました:
print("person name: ${person1.name} ");
toString()
クラスでメソッドを指定できることを忘れないでください。
class Person {
String name;
int age;
String toString() => "${name} is ${age} years old";
}
次のように使用します。
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
}
Agkab Dec 10 2020 at 22:50
ここで、エラーは補間文字列にあります。一般に、複数のオブジェクトを使用する場合は、。${}
だけでなく、完全な形式の文字列補間を使用する必要があります$
。
コードの場合は、代わりに次のようにします。
print('person name : ${person1.name}');
それがお役に立てば幸いです。