O que significa o ponto de exclamação (!) em Swift? Problema com tipos opcionais
Olá! Acabei de começar a aprender Swift e constantemente me deparo com o ponto de exclamação (!) em código alheio. Por exemplo, vi este código:
```swift
var name: String! = "Alice"
print(name!)
let array: [String?] = ["hello", nil, "world"]
if let value = array.first {
print(value!) // por que ! aqui?
}
```
Eu entendo que isso tem a ver com tipos opcionais (Optionals), mas fico confuso. Em alguns lugares vejo o ponto de interrogação (?), em outros o ponto de exclamação (!).
Disseram-me que ! é "desembrulho forçado" (forced unwrapping), mas não entendo quando é seguro usar. Por exemplo, se eu escrever:
```swift
var optionalNumber: Int? = nil
let number = optionalNumber! // crash do app!
```
o aplicativo trava com um erro. Para que serve um operador tão perigoso? Talvez existam alternativas mais seguras? Como trabalhar corretamente com opcionais em Swift? Explique, por favor, detalhadamente e com exemplos.
<<>>