Подтвердить что ты не робот

Записи Noop для быстрых исчерпывающих коммутаторов

Swift требует исчерпывающих операторов switch, и каждый случай имеет исполняемый код. Кто-нибудь остановился на хорошем способе справиться с случаями, когда вы не хотите на самом деле ничего делать? Я могу поместить там println(), но это кажется грязным.

4b9b3361

Ответ 1

Согласно книге, вам нужно использовать break там:

Объем каждого случая не может быть пустым. В результате вы должны включить хотя бы один оператор, следующий за двоеточием (:) каждого ярлыка случая. Используйте один оператор break, если вы не собираетесь выполнять какой-либо код в теле совпадающего регистра.

Ответ 2

Вы можете просто использовать перерыв:

let vegetable = "red pepper"
var vegetableComment: String = "Nothing"
switch vegetable {
case "cucumber", "watercress":
    break // does nothing
case let x where x.hasSuffix("pepper"):
    vegetableComment = "Is it a spicy \(x)?"
default:
    vegetableComment = "Everything tastes good in soup."
}

Пример, измененный из документов

Ответ 3

Ниже приведен один вариант для нулевого оператора, но, возможно, это не очень хорошее решение. Я не могу найти утверждение, как проход Python

{}() 

для случая выключателя, разрыв - лучший выбор.

break