Sobes.tech
Junior — Middle

Омӯзиши ҳама арзишҳои имконпазири enum дар оператори switch дар Swift зарур аст?

sobes.tech AI

Ҷавоб аз AI

Дар Swift, агар шумо оператор switch барои арзиши навъи enum бе арзишҳои ҳамроҳ истифода баред, компилятор талаб мекунад, ки ҳамаи ҳолатҳои имконпазири enum-ро фаро гирад, то switch пурра (exhaustive) бошад. Ин маъно дорад, ки ё шумо бояд ҳамаи вариантҳои enum-ро номбар кунед ё як шохаи default илова кунед.

Агар шумо ҳамаи вариантҳоро фаро нагиред ва default-ро илова накунед, код иҷро намешавад.

Масалан:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Мо ба шимол меравем")
    case .south:
        print("Мо ба ҷануб меравем")
    case .east:
        print("Мо ба шарқ меравем")
    case .west:
        print("Мо ба ғарб меравем")
    }
}

Агар шумо нахоҳед ҳамаи вариантҳоро номбар кунед, метавонед як default илова кунед:

switch dir {
case .north:
    print("Мо ба шимол меравем")
default:
    print("Самт дигар")
}