Swift. Массивы. Тип данных
From AsIsWiki
(Difference between revisions)
Line 12: | Line 12: | ||
[T] // краткая форма | [T] // краткая форма | ||
</pre> | </pre> | ||
− | |||
+ | T - произвольный тип элементов массива. | ||
==Явное и неявное указание типа== | ==Явное и неявное указание типа== | ||
Line 36: | Line 36: | ||
b // [3, 8, 5, 1, 4] | b // [3, 8, 5, 1, 4] | ||
</pre> | </pre> | ||
− | |||
==Инициализация массива разными способами== | ==Инициализация массива разными способами== | ||
Line 52: | Line 51: | ||
let b = [1, 2, 3] // неявное определение типа | let b = [1, 2, 3] // неявное определение типа | ||
</pre> | </pre> | ||
− | |||
==Value type== | ==Value type== | ||
Line 67: | Line 65: | ||
b // ["q", "z", "e"] | b // ["q", "z", "e"] | ||
</pre> | </pre> | ||
− | |||
==Пустой массив== | ==Пустой массив== |
Latest revision as of 11:47, 12 April 2022
Назад · Оглавление · Дальше
Contents |
[edit] Формы записи типа данных
Array<T> // полная форма [T] // краткая форма
T - произвольный тип элементов массива.
[edit] Явное и неявное указание типа
Неявное определение типа:
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]
[edit] Инициализация массива разными способами
Полная форма:
let m = Array<Int>(arrayLiteral: 1, 2, 3) let n = Array<Int>(1...3) let k = Array(1...3) // неявное определение типа
Краткая форма:
let b = [1, 2, 3] // неявное определение типа
[edit] 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"]
[edit] Пустой массив
Инициализация пустого массива:
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]
Назад · Оглавление · Дальше