在 Swift 中,所有的基本類型:整數(Integer)、浮點數(floating-point)、布爾值(Boolean)、字符串(string)、數組(array)和字典(dictionary),都是值類型,並且在底層都是以結構體的形式所實現。類是引用類型。
1.測試數組是否為值類型
var testArray = [String]() testArray.append("AA") testArray.append("BB") testArray.append("CC") var testArray2 = testArray print("testArray:\(testArray)") print("testArray2:\(testArray2)") testArray2.removeAll() print("removeAll操作完成之后----") print("testArray:\(testArray)") print("testArray2:\(testArray2)")
結果截圖:

2.測試字典是否為值類型
var testDic = [String: String]() testDic.updateValue("AA", forKey: "11") testDic.updateValue("BB", forKey: "22") testDic.updateValue("CC", forKey: "33") testDic.updateValue("DD", forKey: "44") print("testDic:\(testDic)") var testDic2 = testDic print("testDic2:\(testDic2)") testDic2.removeAll() print("removeAll操作完成之后-----") print("testDic2:\(testDic2)") print("testDic:\(testDic)")
結果截圖:

3.測試類是否為引用類型
class Person { var name: String? var age: Int = 20 func sayHello() { print("Hello, My name is \(name), My age is \(age)") } } var p1 = Person() var p2 = p1 print("p1:\(p1)") print("p2:\(p2)") //sayHello print("sayHello:") p1.sayHello() p2.sayHello() //修改p1的名字 print("修改p1的name:") p1.name = "Zhang San" p1.sayHello() p2.sayHello()
測試截圖:

