1.结构体初始化
所有结构体都有一个编译器自动生成的初始化器。
例子:
struct Person {
var age:Int
var sex:Bool
var money:Int
}
var jiajia = Person(age: 20, sex: true, money: 10000)2.结构体的内存机制
例子:
struct Person {
var age:Int
var sex:Bool
var money:Int
}
var jiajia = Person(age: 20, sex: true, money: 10000)
print(MemoryLayout<Person>.size)//17
print(MemoryLayout<Person>.stride)//24
print(MemoryLayout<Person>.alignment)//83.类的初始化
类和结构体相似,但是编译器没有为类自动生成初始化器。
class Person {
var age:Int = 10
var sex:Bool = true
var money:Int = 10000
}
var jiaija = Person()或者:
class Person {
var age:Int
var sex:Bool
var money:Int
init(age:Int,sex:Bool,money:Int) {
self.age = age
self.sex = sex
self.money = money
}
}
var jiaija = Person(age: 20, sex: true, money: 10000)
4.结构体和类的本质区别
结构体是值类型(枚举也是值类型),类是引用类型(指针类型)。
值类型是直接将内容拷贝一份,就是深拷贝。
引用类型是直接将内容地址拷贝一份,相当于浅拷贝。
上一篇文章:swift从入门到精通05-可选项
下一篇文章:swift从入门到精通07-闭包