Swift. Массивы. Тип данных
From AsIsWiki
Назад · Оглавление · Дальше
Contents |
Формы записи типа данных
Array<T> // полная форма [T] // краткая форма
T - произвольный тип элементов массива.
Явное и неявное указание типа
Неявное определение типа:
var a = Array(arrayLiteral: "a", "b", "c") // ["a", "b", "c"] var b = Array(1..<5) // [1, 2, 3, 4] type(of: a) // Array<String>.Type type(of: b) // Array<Int>.Type
Явное указание типа:
var a: Array<Character> = ["a", "b", "c"] // полная форма var b: [Int] = [3, 8, 5, 1, 4] // краткая форма a // ["a", "b", "c"] b // [3, 8, 5, 1, 4]
Инициализация массива разными способами
Полная форма:
let m = Array<Int>(arrayLiteral: 1, 2, 3) let n = Array<Int>(1...3) let k = Array(1...3) // неявное определение типа
Краткая форма:
let b = [1, 2, 3] // неявное определение типа
Value type
Массив является значимым типом (value type), а не ссылочным (reference type),
т.е. при копировании или передаче массива, создается его копия:
var a = ["q", "w", "e"] var b = a b[1] = "z" a // ["q", "w", "e"] b // ["q", "z", "e"]
Пустой массив
Инициализация пустого массива:
var a: [String] = [] // явное указание типа с передачей значения [] var b = [String]() // использование специальной функции a // [] b // []
Массивы с пустыми опциональными значениями:
let s1 = [String?](repeating: nil, count: 3) let s2: [String?] = [nil, nil, nil] s1 // [nil, nil, nil] s2 // [nil, nil, nil]
Назад · Оглавление · Дальше