В Swift subscript
— это ярлык для доступа к элементам коллекции, последовательности или списка с использованием значения индекса. Он похож на функцию, но используется для извлечения или установки значения с использованием синтаксиса нижнего индекса вместо вызова метода.
subscript
объявляется с использованием ключевого слова subscript
, за которым следует один или несколько параметров в квадратных скобках ([]
), определяющих индекс значения, к которому осуществляется доступ. Индекс может иметь любое количество входных параметров, но должен иметь хотя бы один. Тип возвращаемого индекса может быть любым допустимым типом Swift, таким как Int
, String
, Double
, Bool
, или даже настраиваемым типом.
Вот пример subscript
в Swift:
swiftCopy code struct List { private var items = [String]() subscript(index: Int) -> String { get { return items[index] } set(newValue) { items[index] = newValue } } } var myList = List() myList[0] = "Apple" myList[1] = "Banana" myList[2] = "Orange" print(myList[0]) // Output: Apple print(myList[1]) // Output: Banana print(myList[2]) // Output: Orange
В приведенном выше примере мы создали структуру List
с закрытым свойством массива items
. Затем мы определили subscript
для этой структуры, которая принимает целочисленный индекс в качестве входных данных и возвращает соответствующий элемент массива items
.
Мы также предоставили setter
вместо subscript
, что позволяет нам изменять значение элемента в массиве, используя синтаксис нижнего индекса. В приведенном выше примере мы используем subscript
для установки значений первых трех элементов в массиве.
Таким образом, subscript
в Swift предоставляет удобный способ доступа и изменения элементов в коллекции или последовательности. Это мощная функция, которая может упростить синтаксис вашего кода и сделать его более читабельным.