Avatar ·

स्ट्रक्ट (struct) बनाम क्लास (class) Swift में क्यों चुनें?

सभी को नमस्ते! मैंने अभी Swift सीखना शुरू किया है, और मुझे एक सवाल परेशान कर रहा है। मैं देखता हूँ कि Swift में क्लास (class) और स्ट्रक्ट (struct) दोनों हैं। पहली नज़र में, ये बहुत समान हैं: दोनों में प्रॉपर्टी, मेथड और इनिशियलाइज़र बनाए जा सकते हैं। लेकिन हर जगह लिखा है कि स्ट्रक्ट "value types" (मान प्रकार) हैं, जबकि क्लास "reference types" (संदर्भ प्रकार) हैं। मैं व्यवहार में इसका मतलब पूरी तरह नहीं समझता। मैंने एक सरल उदाहरण लिखा। एक क्लास `CarClass` और एक स्ट्रक्ट `CarStruct` बनाया, दोनों में एक प्रॉपर्टी `model` है। फिर मैंने क्लास के इंस्टेंस को एक नए वेरिएबल में असाइन किया और "कॉपी" में मॉडल बदल दिया। मॉडल मूल ऑब्जेक्ट में भी बदल गया! लेकिन स्ट्रक्ट के साथ ऐसा नहीं हुआ। यहाँ कोड है: ```swift class CarClass { var model = "Tesla" } struct CarStruct { var model = "Tesla" } let car1 = CarClass() let car2 = car1 // यह कॉपी नहीं, बल्कि उसी ऑब्जेक्ट का संदर्भ है car2.model = "BMW" print(car1.model) // "BMW" प्रिंट होगा — मूल बदल गया! let structCar1 = CarStruct() var structCar2 = structCar1