Типизация массивов Swift
Swift — сильно типизированный язык, и это отражается в работе с массивами.
Содержание:
Явное и неявное указание типа
Swift может автоматически определить тип массива на основе его содержимого, но иногда полезно указать тип явно.
// Неявная типизация
let implicitIntegers = [1, 2, 3] // Тип [Int]
let implicitStrings = ["a", "b", "c"] // Тип [String]
// Явная типизация
let explicitIntegers: [Int] = [1, 2, 3]
let explicitStrings: [String] = ["a", "b", "c"]
// Явная типизация с использованием дженериков
let genericIntegers: Array<Int> = [1, 2, 3]
let genericStrings: Array<String> = ["a", "b", "c"]
Массивы с Optional-значениями
Массивы могут содержать опциональные значения, что позволяет представлять отсутствующие данные.
// Массив опциональных целых чисел
let optionalNumbers: [Int?] = [1, nil, 3, nil, 5]
// Работа с опциональными значениями в массиве
for number in optionalNumbers {
if let unwrapped = number {
print("Найдено число: \(unwrapped)")
} else {
print("Найдено nil")
}
}
Многомерные массивы
В Swift можно создавать многомерные массивы, которые представляют собой массивы массивов.
// Двумерный массив для представления матрицы
let matrix: [[Int]] = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
// Доступ к элементу двумерного массива
let element = matrix[1][2] // 6
// Трехмерный массив
let cube: [[[Int]]] = [
[[1, 2], [3, 4]],
[[5, 6], [7, 8]]
]
// Доступ к элементу трехмерного массива
let cubeElement = cube[1][0][1] // 6