Swift में विस्मयादिबोधक चिह्न का क्या अर्थ है? वैकल्पिक प्रकारों की समस्या
सभी को नमस्ते! मैंने अभी-अभी Swift सीखना शुरू किया है, और मुझे विस्मयादिबोधक चिह्न को लेकर भ्रम हो रहा है। मैंने देखा कि कोड में अक्सर वेरिएबल के बाद `!` का उपयोग किया जाता है, लेकिन मुझे पूरी तरह से समझ नहीं आया कि इसकी आवश्यकता क्यों है।
यहाँ एक उदाहरण है जो मुझे एक पाठ्यपुस्तक में मिला:
```swift
var optionalString: String? = "Hello"
print(optionalString!) // आउटपुट "Hello"
```
यदि मैं विस्मयादिबोधक चिह्न हटा दूं, तो कंपाइलर चेतावनी देता है कि `optionalString` को अनरैप किया जाना चाहिए। लेकिन क्यों? आखिर वेरिएबल में स्पष्ट रूप से एक स्ट्रिंग है। मैंने अपना कोड लिखने की कोशिश की:
```swift
var name: String? = "John"
let greeting = "नमस्ते, " + name // त्रुटि: Value of optional type 'String?' must be unwrapped
```
Swift मान को सीधे उपयोग करने की अनुमति क्यों नहीं देता? और यदि मैं `nil` पर `!` लगाऊं तो क्या होगा? मैंने सुना है कि इससे क्रैश हो सकता है, लेकिन मुझे समझ नहीं आता कि इससे कैसे बचा जाए। कृपया सरल उदाहरणों के साथ समझाएं कि विस्मयादिबोधक चिह्न क्या करता है और इसका सही उपयोग कब करना चाहिए। विस्तृत स्पष्टीकरण के लिए आभारी रहूंगा।