Изучите несколько однострочных предложений, чтобы улучшить читаемость кода

1. Однострочный оператор If-Else

Знаете ли вы, что вы можете заменить этот простой оператор if-else:

С этим аккуратным однострочным выражением?

money > 0 ? print("Some money") : print("No money")

На самом деле это известно как тернарный условный оператор в Swift (это обычная функция и в других языках программирования).

Вот общая структура тернарного условного оператора:

condition ? true_expression : false_expression

Однако будьте внимательны при использовании этого. Это сокращение - удобный способ заменить простые выражения if-else. Однако неразумно делать код менее читаемым, злоупотребляя им.

2. Поменять местами две переменные без помощника

Чтобы поменять местами две переменные без вспомогательной переменной, вы можете использовать деструктуризацию кортежа:

var a = 1
var b = 2
(a, b) = (b, a)
print(a, b)

Выход:

2 1

3. Проверьте наличие нуля в дополнительных значениях.

Вам не нужно писать if-else инструкции, чтобы проверить, является ли необязательное значение nil. Вместо этого вы можете использовать оператор объединения nil, ??, чтобы добиться того же всего с помощью одной строки кода:

var name: String?
print(name ?? "N/A")

Выход:

N/A

Объединение без объединения - часто используемая функция в Swift. Он работает, проверяя, является ли левая часть ?? нулем. Если это так, то он возвращает значение с правой стороны. В противном случае он возвращает значение слева.

Другими словами, print(name ?? "N/A") - это сокращение от:

4. Проверьте, существует ли слово в предложении.

Вы можете проверить, существует ли конкретное слово в строке, с помощью простого однострочника:

let favorites = ["Banana", "Orange", "Apple"] 
let bag = "I packed some Beef, Potatoes, and a Banana"
let hasFavorite = !favorites.filter({bag.contains($0)}).isEmpty
print(hasFavorite)

Выход:

true

5. Суммируйте все числа до числа.

Например, просуммируйте все числа в диапазоне от 1 до 10 с помощью:

let sum = (1...10).reduce(0,+)
print(sum)

Выход:

55

Бонус: проверьте, все ли элементы массива соответствуют условию

Используйте метод allSatisfy, чтобы проверить, все ли значения в коллекции соответствуют критерию:

let numbers = [1, 0, 0, 3, 6]
let allPositive = numbers.allSatisfy { $0 >= 0 }
print(allPositive)

Выход:

false

Заключение

Спасибо за прочтение! Надеюсь, вы нашли это полезным.

Не стесняйтесь сообщать людям о ваших любимых однострочниках Swift в разделе комментариев.

Ресурсы