Array 是值类型

//: Playground - noun: a place where people can play

import UIKit


// 斐波那契数列
let fibs = [0,1,1,2,3,5]

var mutableFibs = [0,1,1,2,3,5]

mutableFibs.append(8)
mutableFibs.append(contentsOf: [13,21])

// 数组和标准库中的所有集合类型一样,是具有  值  语义的
var x = [1,2,3]
var y = x
y.append(4)
y // [1,2,3,4]
x // [1,2,3]

// 对比oc的
let a = NSMutableArray(array: [1,2,3])
// 不想让b改变
let b: NSArray = a
// 但是他仍然影响到了a
a.insert(4, at: 3)
b // [1,2,3,4]

// 正确的方法是
let c = NSMutableArray(array: [1,2,3])
let d = c.copy() as! NSArray
c.insert(4, at: 3)
d // [1,2,3]

let array = [1,2,3,4,5,6,7,8]
array.dropLast()

array.dropFirst(2)
array.dropLast(2)
for (index,element) in array.enumerated() {
    print(index)
    print(element)
}



你可能感兴趣的:(Array 是值类型)