Добро пожаловать
В Swift есть множество встроенных числовых типов, логический тип и тип Character для представления отдельных скалярных значений Unicode. Давайте рассмотрим каждый из них.
Целочисленные типы
Swift предоставляет знаковые и беззнаковые целые числа различной разрядности:
```swift
let a: Int = -42 // platform width (64-bit)
let b: Int8 = 127
let c: UInt = 255
let d: UInt8 = 200
```
Используйте `Int` для целых чисел общего назначения, а типы фиксированной разрядности — когда важна структура размещения в памяти.
Int.min и Int.max
У каждого целочисленного типа есть свои граничные значения:
```swift
print(Int.min) // -9223372036854775808 on 64-bit
print(Int.max) // 9223372036854775807
print(UInt8.max) // 255
```
Переполнение этих границ приводит к ошибке во время выполнения. Для намеренного переполнения используйте операторы переполнения &+ и &-.
Числа с плавающей точкой: Double и Float
```swift
let pi: Double = 3.14159265358979 // 64-bit, ~15 decimal digits
let e: Float = 2.71828 // 32-bit, ~6 decimal digits
```
В большинстве случаев предпочитайте `Double`. Используйте `Float`, только если критичен объём памяти, например для больших массивов значений.
Арифметические операторы
Swift поддерживает стандартные арифметические операторы:
```swift
let sum = 10 + 3 // 13
let diff = 10 - 3 // 7
let prod = 10 * 3 // 30
let quot = 10 / 3 // 3 (integer division)
let rem = 10 % 3 // 1
```
Помните: деление двух значений типа Int отбрасывает дробную часть в сторону нуля.
Логический тип: true и false
```swift
var isLoggedIn: Bool = false
isLoggedIn = true
if isLoggedIn {
print("Welcome back!")
}
```
Логические значения Swift имеют строгий тип: нельзя использовать целые числа как значения, эквивалентные true или false, как в C.
Логические операторы
Три основных логических оператора:
```swift
let a = true && false // AND → false
let b = true || false // OR → true
let c = !true // NOT → false
```
Вычисление по сокращённой схеме: в `&&` правая часть вычисляется только тогда, когда левая равна `true`.
Тип Character
`Character` хранит один расширенный кластер графем, то есть один символ, читаемый человеком:
```swift
let letter: Character = "A"
let emoji: Character = "🚀"
let accented: Character = "é"
```
Литералы Character записываются в двойных кавычках, как и String.
Символы и строки
`String` — это последовательность значений `Character`:
```swift
let str = "Hello"
for ch in str {
print(ch) // H, e, l, l, o
}
```
Можно создать String из символов Character с помощью `String(character)` или добавлять символы в переменную типа String.
Операторы переполнения чисел
Если вам нужно намеренное переполнение, например при побитовой обработке данных аппаратуры, используйте операторы переполнения:
```swift
var x: UInt8 = 255
x = x &+ 1 // wraps to 0 instead of crashing
```
Операторы `&+`, `&-`, `&*` никогда не вызывают аварийное завершение при переполнении.
Быстрая проверка
Какой логический оператор Swift возвращает `true` только тогда, когда **оба** операнда равны `true`?
Итоги
Главное:
• Целые числа: `Int` для общего использования, типы фиксированного размера (`Int8`, `UInt8`…) — когда это необходимо
• Числа с плавающей точкой: предпочтительно использовать `Double` (64 бита), а `Float` (32 бита) — для массивов, где важен объём памяти
• `Bool` имеет строгий тип — только `true` или `false`, без неявного преобразования целых чисел
• `Character` хранит один кластер графем Unicode
• Используйте `&+`, `&-`, `&*` для намеренного переполнения
Далее: строки и интерполяция.
Часто задаваемые вопросы
Урок «Числа, логические значения и символы» бесплатный?
Да — полный текст урока «Числа, логические значения и символы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.
Чему я научусь в уроке «Числа, логические значения и символы»?
Поработайте с типами Int, Double, Float, Bool и Character Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Числа, логические значения и символы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.