# 隐式解包可选类型

URL: https://caijiao.org/swift/10-optionals/05-implicitly-unwrapped
Source: docs/swift/10-optionals/05-implicitly-unwrapped.md
Description: 本章介绍 Swift 中隐式解包可选类型（Implicitly Unwrapped Optionals），适用于初始化后必有值但暂时为 nil 的变量。

隐式解包可选类型用 `!` 声明，表示变量在初始时可能为 nil，但之后会有值，可以像普通变量一样直接访问，无需手动解包。

## 定义语法

```swift
var name: String! = nil
````

## 使用示例

```swift
var username: String! = nil
// 稍后赋值
username = "小明"

// 直接访问，无需解包
print(username)  // 输出：小明
```

## 注意事项

* 若访问时值仍为 nil，会导致运行时崩溃。
* 适合用于必须初始化但初始化过程复杂的场景，例如类的属性在构造器完成前无法赋值。

## 与普通可选的区别

* 普通可选需使用 `?` 或强制解包访问。
* 隐式解包可选在使用时自动解包，语法更简洁，但安全性较低。

## 总结

隐式解包可选类型方便访问，但需确保访问前已赋值，避免程序崩溃。
