> For the complete documentation index, see [llms.txt](https://gitbook.existorlive.cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.existorlive.cn/kai-fa-yu-yan-xue-xi/swift/8.-mei-ju/2.-mei-ju-yu-switch-yu-ju.md).

# 枚举与switch语句

`swift`中的枚举不只可以关联整型数，还可以通过关联值，原始值关联更复杂的类型。

`switch`也同样不只是支持整型数，也支持更复杂的枚举

## 1. switch 和 关联值

```swift
enum HttpResponse{
    case success(Int,Data)
    case fail(Int,Error)
}


switch response{
    // 可以将关联值绑定新的变量或常量
    case let .success(statusCode,data):
          print(statusCode)
    case let .fail(statusCode,error):
          print(statusCode)
}

```

##

```swift
if case let HttpResponse.success(statusCode,data) = response {

}
```
