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

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
 
Line 12: Line 12:
 
[T]      // краткая форма
 
[T]      // краткая форма
 
</pre>
 
</pre>
T - произвольный тип элементов массива.
 
  
 +
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]



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

Personal tools
Namespaces

Variants
Actions
Navigation
Tools