Sobes.tech
Junior — Middle

Vai ir obligāti aptvert visas iespējamās enum vērtības Swift switch izteiksmē?

sobes.tech AI

Atbilde no AI

Swift valodā, ja jūs izmantojat switch operatoru vērtībai no enum tipa bez saistītām vērtībām, kompilators pieprasa aptvert visas iespējamās enum gadījumus, lai switch būtu izsmeļošs (exhaustive). Tas nozīmē, ka jums jāuzskaita visi enum varianti vai jāpiekrīt default zarei.

Ja jūs neaptverat visus variantus un neievietojat default, kods nesanāks kompilēt.

Piemērs:

enum Direction {
    case north, south, east, west
}

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Ej uz ziemeļiem")
    case .south:
        print("Ej uz dienvidiem")
    case .east:
        print("Ej uz austrumiem")
    case .west:
        print("Ej uz rietumiem")
    }
}

Ja nevēlaties uzskaitīt visus variantus, varat pievienot default:

switch dir {
case .north:
    print("Ej uz ziemeļiem")
default:
    print("Cita virziena")
}