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 // Константа физики
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 или falseString— текст- 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 — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!