Почему в Swift рекомендуется использовать let вместо var?

«Почему в Swift рекомендуется использовать let вместо var?» — вопрос из категории Swift Core, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Использование let (константа) вместо var (переменная) по умолчанию — это принцип Swift, который повышает безопасность, читаемость и производительность кода.

Ключевые преимущества:

  1. Безопасность и предсказуемость:

    • Гарантирует, что значение не изменится после инициализации, предотвращая случайные модификации.
      let apiEndpoint = "https://api.example.com"
      // apiEndpoint = "new-url" // Ошибка компиляции: изменение константы
  2. Оптимизация компилятора:

    • Компилятор может выполнять агрессивные оптимизации (инлайнинг, постоянное распространение), зная, что значение неизменно.
  3. Потокобезопасность:

    • Доступ к константе безопасен из любого потока без необходимости синхронизации.
  4. Ясность намерений:

    • let явно указывает, что значение предназначено только для чтения, упрощая понимание кода.

Правило: Всегда начинайте с let. Переходите на var только когда значение действительно должно изменяться.

let userName = "Alice" // Константа
var loginAttempts = 0   // Переменная, так как счетчик будет увеличиваться
loginAttempts += 1