Was bedeutet das Ausrufezeichen in Swift? Problem mit optionalen Typen
Hallo zusammen! Ich habe gerade angefangen, Swift zu lernen, und bin verwirrt über das Ausrufezeichen. Ich habe gesehen, dass im Code oft `!` nach Variablen verwendet wird, verstehe aber nicht ganz, wozu es dient.
Hier ist ein Beispiel, das ich in einem Tutorial gefunden habe:
```swift
var optionalString: String? = "Hello"
print(optionalString!) // Gibt "Hello" aus
```
Wenn ich das Ausrufezeichen entferne, gibt der Compiler eine Warnung aus, dass `optionalString` entpackt werden muss. Aber warum? Die Variable enthält doch eindeutig einen String. Ich habe versucht, meinen eigenen Code zu schreiben:
```swift
var name: String? = "John"
let greeting = "Hallo, " + name // Fehler: Value of optional type 'String?' must be unwrapped
```
Warum erlaubt Swift nicht einfach, den Wert zu verwenden? Und was passiert, wenn ich `!` auf `nil` anwende? Ich habe gehört, dass dies e