Типизация массивов 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

Дополнительные материалы

Также читайте:  Язык Swift часть 10. Как написать цикл?