डार्ट में डुप्लिकेट ऑब्जेक्ट के गुण [डुप्लिकेट]

Dec 10 2020

मेरे पास एक साधारण डार्ट फाइल है:

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}');

मुझे उम्मीद है कि यह आपके लिए उपयोगी होगा।