1: Swift class & struct
> 1: class 是引用类型、truct是类型
> 2: class 可以被继承、struct不可以被继承
> 3: class中的每一个成员变量都必须被初始化不然编译器会报错;strcut不需要初始化、编译器会自动帮我们生成init函数、给变量赋值一个默认值。
引用类型:将一个对象赋值给另外一个对象的时候、系统不会对此对象进行拷贝、而是将指向这个对象的指针赋值给另外一个对象,当修改其中一个对象的值时、另外一个对象的值也随之改变。
值类型:将一个对象赋值给另外一个对象的时候、会对此对象进行拷贝、赋值一份副本给另外一个对象、在修改其中一个对象的值的时候、不影响另外一个对象。
Class Person {
var name = "class"
var age = 2020
}
void main {
let a = Person()
print("name=\(a.name)
var b = a
b.name = "b-class"
b.age = 2021
print("b-name=\(b.name)
print("a-name=\(a.name)
}
Struct Model {
var name = "struct"
var age = 1
}
void main {
let a = Model()
print("a-name=\(a.anme)
let b = a
b.name = "b-struct"
b.age = 2
print("b-name=\(b.name)
print("a-name=\(a.name)
}