Создать гибкий API
Аргументы по умолчанию - это здорово! В этой статье объясняется, что это такое и почему они великолепны. Давай, посмотри!
Сложность: Начинающий | Легко | Нормальный | Сложно
Эта статья была разработана с использованием Xcode 11.5 и Swift 5.2.4
Предпосылки:
- Для простоты эта статья написана с учетом детской площадки Swift.
- Предполагается некоторый опыт функций.
Функции
Простой пример
Представьте, что у нас есть функция, которая выводит на консоль имя и сообщение. Эта функция выглядит следующим образом:
Это дает нам возможность: наверняка почти в каждом случае у нас будет сообщение «Hello, World» (хорошо, с натяжкой, но потерпите меня) - поэтому мы хотим, чтобы «Hello, World» было значением по умолчанию функции. Это возможно? Оказывается, да, да, это так.
Создание параметра по умолчанию
Самое лучшее в этом параметре по умолчанию - это то, что он не изменяет никаких существующих вызовов функции - то есть они по-прежнему будут работать!
Это означает, что приведенный выше код выводит следующие две строки: Kyrone Hello, World
Tarik Hello, to you too!
Итак, если у вас есть общедоступный API (вы можете прочитать о Контроль доступа, чтобы подумать об этом)
Инициализация (класс и структура)
Инициализация также может выиграть от параметров по умолчанию.
Поскольку мы всегда должны предполагать, что людям 21 год, если мы не используем их возраст (Примечание: это не относится к детям, хотя следующее Class
не отражает этого), если пользователь API не указывает возраст, мы устанавливаем его на 21.
Это дает следующий результат: Chau
21
То же самое можно применить и к Struct
объектам!
Значит, можно использовать параметры по умолчанию…
В любом месте в списке параметров. Может использоваться для 0 или более параметров. Для предоставления пользователям API доступа к функциям; некоторые могут использовать «более простую» версию того же API, что снижает сложность.
Вывод
Вы можете использовать параметры по умолчанию, чтобы упростить использование общедоступных API для вашего клиента. Однако вы должны сделать доступ как можно более легким, и вы должны сделать это, сделав свой код как можно более читабельным, поскольку это упростит создание и поддержку вашего кода в будущем.
Если у вас есть вопросы, комментарии или предложения, пишите мне в Twitter.