Изучите несколько однострочных предложений, чтобы улучшить читаемость кода
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 в разделе комментариев.