swift 3中类和结构之间的主要区别是什么?

1 struct class swift

我发现的唯一的事情是一个结构不能继承但是一个类,并且一个结构是通过值传递的,而一个类是通过引用传递的,但我无法理解究竟是什么.有人可以解释一下或给我举个例子吗?

Jaa*_*rek 8

class Car {
    var name: String

    init(name:String){
        self.name = name
    }
}

var carA = Car(name: "BMW")
var carB = carA
//now I will change carB
carB.name = "Nissan"
print(carA.name) //This will print Nissan


struct CarStruct {
    var name: String

    init(name: String){
        self.name = name
    }
}

var carC = CarStruct(name: "BMW")
var carD = carC
//now I will change carB
carD.name = "Nissan"
print(carC.name) //This will print BMW
Run Code Online (Sandbox Code Playgroud)

正如你可以同时看到CarACarB都指向同一个参考,因此如果一个人改变了其他变化,因为基准是变化的,而CarCCarD它们结构它们与它的价值彼此彼此的副本.