🍎 Swift

Variables et types de données en Swift

Переменные в Swift: var, let и типы данных

Переменные — это основа любой программы. Это как ящики или контейнеры, в которых хранятся данные. В Swift есть два вида "ящиков": var и let. Давай разберёмся, в чём разница, и как работать с разными типами данных!

Аналогия: меловая доска и гравировка в камне

Представь себе две вещи:

  • Меловая доска (var) — на ней можно написать что угодно, а потом стереть и написать снова. Это var (от слова variable — переменная).
  • Гравировка в камне (let) — надпись, высеченная в камне, остаётся навсегда. Это let (от слова let it be — пусть будет так).

var — переменная (изменяемая)

// var — значение можно менять
var score = 0
print("Начальный счёт: \(score)") // 0
score = 10
print("После первого уровня: \(score)") // 10
score = score + 5
print("После бонуса: \(score)") // 15

var playerName = "Герой"
var health = 100
var isAlive = true
health -= 20
print("Здоровье: \(health)") // 80

let — константа (неизменяемая)

// let — значение нельзя менять
let pi = 3.14159
let appName = "МоёПриложение"
let maxPlayers = 4

// Если попытаться изменить let — будет ошибка!
// pi = 3.14 // ❌ ОШИБКА: Cannot assign to value: 'pi' is a 'let' constant

// Реальные примеры
let userName = "Саша"  // Имя пользователя не меняется
let birthYear = 2010   // Год рождения постоянный
let gravityOnEarth = 9.81 // Константа физики
💡 Правило Swift: Используй let везде, где возможно! Если значение не нужно менять, сделай его константой.

Типы данных в Swift

Int — целые числа

let age: Int = 12
var score: Int = 0
let population = 7_800_000_000 // _ для читаемости!

let a = 10
let b = 3
print(a + b)  // 13
print(a - b)  // 7
print(a * b)  // 30
print(a / b)  // 3 (целочисленное деление!)
print(a % b)  // 1 (остаток)

Double — числа с дробной частью

let pi: Double = 3.14159265358979
var temperature: Double = 36.6
let price = 299.99 // Swift угадает Double

let radius = 5.0
let area = pi * radius * radius
print("Площадь круга: \(area)") // 78.539...

Bool — логическое значение

var isLoggedIn = false
let hasPermission = true

if isLoggedIn && hasPermission {
    print("Добро пожаловать!")
}

let isRaining = false
if isRaining {
    print("Берём зонт")
} else {
    print("Зонт не нужен!")
}

String — строки

let greeting = "Привет, мир!"
var message = "Обычная строка"

let name = "Александр"
print(name.count)         // 9
print(name.isEmpty)       // false
print(name.uppercased())  // АЛЕКСАНДР
print(name.lowercased())  // александр

// Конкатенация
let firstName = "Александр"
let lastName = "Пушкин"
let fullName = firstName + " " + lastName
print(fullName) // Александр Пушкин

// Интерполяция
let year = 1799
print("Пушкин родился в \(year) году.")

Character — один символ

let letter: Character = "А"
let emoji: Character = "🎉"

for char in "Привет" {
    print(char) // П, р, и, в, е, т
}

Type Inference — Swift угадывает типы

// Явное указание типа
let age: Int = 15
let name: String = "Маша"
let temperature: Double = 22.5

// Type inference — Swift сам поймёт тип!
let age2 = 15          // Int
let name2 = "Маша"     // String
let temp2 = 22.5       // Double

Операторы присваивания

var number = 10
number += 5   // number = 15
number -= 3   // number = 12
number *= 2   // number = 24
number /= 4   // number = 6
number %= 4   // number = 2
print(number) // 2

Преобразование типов

let intValue = 42
let doubleValue = Double(intValue)  // 42.0
let stringValue = String(intValue)  // "42"

let doubleNumber = 3.99
let intFromDouble = Int(doubleNumber)  // 3 (дробная часть отрезается!)

// Нельзя смешивать типы напрямую:
// let result = intValue + doubleValue // ❌
let result = Double(intValue) + doubleValue // ✅

Практические примеры

// Игровая статистика
let characterName = "Герой Света"
var level: Int = 1
var health: Double = 100.0
var mana: Double = 50.0
var isAlive: Bool = true
var exp: Int = 0

exp += 150
health -= 25.5

print("=== Статистика персонажа ===")
print("Имя: \(characterName)")
print("Уровень: \(level)")
print("Здоровье: \(health)/100.0")
print("Опыт: \(exp)")

Итоги урока

✅ Что ты узнал:

  • var — изменяемая переменная (как меловая доска)
  • let — неизменяемая константа (как гравировка в камне)
  • Int — целые числа
  • Double — числа с дробной частью
  • Bool — true или false
  • String — текст
  • Type inference — Swift автоматически определяет типы

💪 Дополнительные упражнения

Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!

  • Напиши программу, которая считает количество гласных в строке
  • Создай функцию, которая проверяет является ли число простым
  • Реализуй простую игру "угадай число" с подсказками
  • Напиши калькулятор с четырьмя операциями
  • Создай программу-органайзер задач (TODO list)

📋 Лучшие практики

Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:

  • DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
  • KISS (Keep It Simple, Stupid) — пиши простой и понятный код
  • Именование — переменные должны отражать смысл: userAge лучше чем x
  • Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
  • Маленькие функции — каждая функция должна делать одно дело

📚 Полезные ресурсы для дальнейшего изучения

  • Официальная документация — лучший источник правды
  • Stack Overflow — ответы на вопросы программистов
  • GitHub — смотри на реальные проекты с открытым кодом
  • YouTube — видеоуроки для визуальных учеников
  • Практические проекты — создавай что-то настоящее!

💪 Дополнительные упражнения

Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!

  • Напиши программу, которая считает количество гласных в строке
  • Создай функцию, которая проверяет является ли число простым
  • Реализуй простую игру "угадай число" с подсказками
  • Напиши калькулятор с четырьмя операциями
  • Создай программу-органайзер задач (TODO list)

📋 Лучшие практики

Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:

  • DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
  • KISS (Keep It Simple, Stupid) — пиши простой и понятный код
  • Именование — переменные должны отражать смысл: userAge лучше чем x
  • Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
  • Маленькие функции — каждая функция должна делать одно дело

📚 Полезные ресурсы для дальнейшего изучения

  • Официальная документация — лучший источник правды
  • Stack Overflow — ответы на вопросы программистов
  • GitHub — смотри на реальные проекты с открытым кодом
  • YouTube — видеоуроки для визуальных учеников
  • Практические проекты — создавай что-то настоящее!

💪 Дополнительные упражнения

Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!

  • Напиши программу, которая считает количество гласных в строке
  • Создай функцию, которая проверяет является ли число простым
  • Реализуй простую игру "угадай число" с подсказками
  • Напиши калькулятор с четырьмя операциями
  • Создай программу-органайзер задач (TODO list)

📋 Лучшие практики

Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:

  • DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
  • KISS (Keep It Simple, Stupid) — пиши простой и понятный код
  • Именование — переменные должны отражать смысл: userAge лучше чем x
  • Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
  • Маленькие функции — каждая функция должна делать одно дело

📚 Полезные ресурсы для дальнейшего изучения

  • Официальная документация — лучший источник правды
  • Stack Overflow — ответы на вопросы программистов
  • GitHub — смотри на реальные проекты с открытым кодом
  • YouTube — видеоуроки для визуальных учеников
  • Практические проекты — создавай что-то настоящее!

💪 Дополнительные упражнения

Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!

  • Напиши программу, которая считает количество гласных в строке
  • Создай функцию, которая проверяет является ли число простым
  • Реализуй простую игру "угадай число" с подсказками
  • Напиши калькулятор с четырьмя операциями
  • Создай программу-органайзер задач (TODO list)

📋 Лучшие практики

Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:

  • DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
  • KISS (Keep It Simple, Stupid) — пиши простой и понятный код
  • Именование — переменные должны отражать смысл: userAge лучше чем x
  • Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
  • Маленькие функции — каждая функция должна делать одно дело

📚 Полезные ресурсы для дальнейшего изучения

  • Официальная документация — лучший источник правды
  • Stack Overflow — ответы на вопросы программистов
  • GitHub — смотри на реальные проекты с открытым кодом
  • YouTube — видеоуроки для визуальных учеников
  • Практические проекты — создавай что-то настоящее!

💪 Дополнительные упражнения

Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!

  • Напиши программу, которая считает количество гласных в строке
  • Создай функцию, которая проверяет является ли число простым
  • Реализуй простую игру "угадай число" с подсказками
  • Напиши калькулятор с четырьмя операциями
  • Создай программу-органайзер задач (TODO list)

📋 Лучшие практики

Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:

  • DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
  • KISS (Keep It Simple, Stupid) — пиши простой и понятный код
  • Именование — переменные должны отражать смысл: userAge лучше чем x
  • Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
  • Маленькие функции — каждая функция должна делать одно дело

📚 Полезные ресурсы для дальнейшего изучения

  • Официальная документация — лучший источник правды
  • Stack Overflow — ответы на вопросы программистов
  • GitHub — смотри на реальные проекты с открытым кодом
  • YouTube — видеоуроки для визуальных учеников
  • Практические проекты — создавай что-то настоящее!

💪 Дополнительные упражнения

Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!

  • Напиши программу, которая считает количество гласных в строке
  • Создай функцию, которая проверяет является ли число простым
  • Реализуй простую игру "угадай число" с подсказками
  • Напиши калькулятор с четырьмя операциями
  • Создай программу-органайзер задач (TODO list)

📋 Лучшие практики

Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:

  • DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
  • KISS (Keep It Simple, Stupid) — пиши простой и понятный код
  • Именование — переменные должны отражать смысл: userAge лучше чем x
  • Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
  • Маленькие функции — каждая функция должна делать одно дело

📚 Полезные ресурсы для дальнейшего изучения

  • Официальная документация — лучший источник правды
  • Stack Overflow — ответы на вопросы программистов
  • GitHub — смотри на реальные проекты с открытым кодом
  • YouTube — видеоуроки для визуальных учеников
  • Практические проекты — создавай что-то настоящее!

💪 Дополнительные упражнения

Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!

  • Напиши программу, которая считает количество гласных в строке
  • Создай функцию, которая проверяет является ли число простым
  • Реализуй простую игру "угадай число" с подсказками
  • Напиши калькулятор с четырьмя операциями
  • Создай программу-органайзер задач (TODO list)

📋 Лучшие практики

Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:

  • DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
  • KISS (Keep It Simple, Stupid) — пиши простой и понятный код
  • Именование — переменные должны отражать смысл: userAge лучше чем x
  • Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
  • Маленькие функции — каждая функция должна делать одно дело

📚 Полезные ресурсы для дальнейшего изучения

  • Официальная документация — лучший источник правды
  • Stack Overflow — ответы на вопросы программистов
  • GitHub — смотри на реальные проекты с открытым кодом
  • YouTube — видеоуроки для визуальных учеников
  • Практические проекты — создавай что-то настоящее!