Swift. Массивы. Тип данных

From AsIsWiki
Jump to: navigation, search

Назад · Оглавление · Дальше


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]



Назад · Оглавление · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools