Sobes.tech
Junior — Middle

Swift-də switch operatorunda enum-un bütün mümkün dəyərlərini əhatə etmək məcburidir?

sobes.tech Süni İntellekt

AI-dan cavab

Swift-də, əgər siz associated values olmadan enum tipli dəyər üçün switch operatorundan istifadə edirsinizsə, tərtibçi enum-un bütün mümkün halları ilə təmin olunmasını tələb edir ki, switch tam (exhaustive) olsun. Bu, ya enum-un bütün variantlarını sadalamağınız və ya default şərtini əlavə etməyiniz deməkdir.

Əgər bütün variantları əhatə etmirsiniz və default əlavə etmirsinizsə, kod tərtib olunmayacaq.

Nümunə:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Şimal tərəfə gedirik")
    case .south:
        print("Cənub tərəfə gedirik")
    case .east:
        print("Şərq tərəfə gedirik")
    case .west:
        print("Qərb tərəfə gedirik")
    }
}

Əgər bütün variantları sadalamaq istəmirsinizsə, default əlavə edə bilərsiniz:

switch dir {
case .north:
    print("Şimal tərəfə gedirik")
default:
    print("Başqa istiqamət")
}