# Swift conditionals: the switch statement

> Learn how to use switch statements in Swift to handle multiple cases cleanly, including the mandatory default case, matching enum cases, and value ranges.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2021-05-23 | Topics: [Swift](https://flaviocopes.com/tags/swift/) | Canonical: https://flaviocopes.com/swift-conditionals-switch/

> This tutorial belongs to the [Swift](https://flaviocopes.com/swift-introduction/) series

Switch statements are a handy way to create a conditional with multiple options:

```swift
var name = "Roger"

switch name {
case "Roger":
    print("Hello, mr. Roger!")
default: 
    print("Hello, \(name)")
}
```

When the code of a case ends, the switch exits automatically.

A switch in Swift needs to cover all cases. If the *tag*, `name` in this case, is a string that can have any value, we need to add a `default` case, mandatory.

Otherwise with an enumeration, you can simply list all the options:

```swift
enum Animal {
    case dog
    case cat
}

var animal: Animal = .dog

switch animal {
case .dog:
    print("Hello, dog!")
case .cat:
    print("Hello, cat!")
}
```

A case can be a Range:

```swift
var age = 20

switch age {
case 0..<18:
    print("You can't drive!!")
default: 
    print("You can drive")
}
```
