imprimir propriedades do objeto em Dart [duplicado]
Dec 10 2020
Eu tenho um arquivo Dart simples:
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);
}
Eu só quero imprimir print("person name $person1.name ");
e quero a saída como person name Rajesh
. Mas estou recebendo saída como person name Instance of 'Person'.name
.
Preciso de ajuda, sou novo no Dart. `
Respostas
2 BeHappy Dec 10 2020 at 22:24
Você tem que usar isto:
print("person name ${person1.name} ");
como alternativa, você pode substituir toString
na aula:
@override
String toString() {
return '''
person name $name
''';
}
então:
print(person1);
1 StefanoA. Dec 10 2020 at 22:28
Você provavelmente quis dizer:
print("person name: ${person1.name} ");
Lembre-se de que você pode especificar um toString()
método na classe:
class Person {
String name;
int age;
String toString() => "${name} is ${age} years old";
}
e use-o da seguinte maneira:
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
Aqui, o erro está na string de interpolação . Em geral, quando você usa mais de um objeto, deve usar a forma completa da interpolação de string em ${}
vez de apenas $
.
Para o seu código, faça o seguinte:
print('person name : ${person1.name}');
Espero que seja útil para você.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?