Готовый перевод The Swift Programming Language / Swift язык программирования - Книга на русском: Control Flow

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «идёт перевод»

Используйте if и switch для условий и for-in, for, while и do-while для циклов.

Скобки вокруг переменной в условиях или циклах опциональны. Фигурные скобки вокруг тела [цикла или ветви условия]

обязательны.

let individualScores = [75, 43, 103, 87, 12]

var teamScore = 0

for score in individualScores {

if score > 50 {

teamScore += 3

} else { teamScore += 1

}

}

teamScore

В конструкции if условие должно быть Булевым выражением — это означает, что код

такой как if score { ... } будет ошибкой, а не будет неявно сравнен с нулем.

Вы можете использовать if и let вместе чтобы работать со значениями, которые могут быть потеряны. Эти значения

представлены как optionals. Optional значения либо содержат значения, либо содержат nil чтобы

показать, что значение пропущено. Напишите вопросительный знак (?) после типа значения чтобы

пометить значение как optional

var optionalString: String? = "Hello"

optionalString == nil

var optionalName: String? = "John Appleseed"

var greeting = "Hello!"

if let name = optionalName {

greeting = "Hello, \(name)"

}

ЭКСПЕРИМЕНТ

Измените OptionalName на nil. Что за greeting вы получите? Добавьте else чтобы устанавливать разные приветствия если

optionalName - nil.

Если optional значение стало nil, условие не выполняется и код в фигурный скобках пропускается.

let vegetable = "red pepper"

switch vegetable {

case "celery": let vegetableComment = "Add some raisins and make ants on a log."

case "cucumber", "watercress":

let vegetableComment = "That would make a good tea sandwich."

case let x where x.hasSuffix("pepper"):

let vegetableComment = "Is it a spicy \(x)?"

default:

vegetableComment = "Everything tastes good in soup."

ЭКСПЕРИМЕНТ

Попытайтесь убрать значение по умолчанию. Какую ошибку вы получите?

После исполнения кода внутри switch case который совпал, программа выходит из

утверждения switch. Исполнение не следует к следующему случаю, поэтому не нужно

постоянно выходить из switch в конце каждого case.

Вы используете for-in, чтобы перебирать предметы в словаре, предоставляя пару имен, чтобы использовать для

каждой key-value пары.

let interestingNumbers = [

ЭКСПЕРИМЕНТ

Добавьте ещё одну переменную чтобы отслеживать какой вид чисел был самым большим, так же хорошо как и какое число было

было самым большим.

Используйте while чтобы повторить блок кода до того как условие изменится. Условие цикла может

быть в конце не гарантируя что цикл исполнится хотя бы один раз.

Вы можете хранить индекс в цикле – для хранения диапазона индексов или для

записи явной инициализации, условия и прироста. Эти два цикла одинаковы:

включает оба значения.

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод

Переведено на Нотабеноиде
http://notabenoid.org/book/52121/221449

Переводчики: obiken, idevil, WRS, keo82

Настройки

Готово:

62.06% КП = 1.0

Непереведённые фрагменты будут пропущены.