Swift 结构体

从这篇文章,你将学习到如何使用 Swift 的结构体,其涵盖的内容较多,这里先只讲解大概,更多细节可以查看下面结构体的能力。
结构体的能力
定义
定义了结构体 Resolution,其有两个属性 width 和 height。
struct Resolution {
var width = 0
var height = 0
}
创建实例
创建了结构体 Resolution 的实例,其所有属性都是默认值。
let someResolution = Resolution()
访问属性
通过 . 就可以访问属性
print("The width of someResolution is \(someResolution.width)")
自动生成的初始化器
当没有给结构体定义初始化器时,会根据结构体的属性自动生成一个初始化器。
struct Resolution {
var width = 0
var height = 0
}
let someResolution = Resolution(width: 300, height: 400)
结构体是值类型
值类型,在赋值或者当作参数传递给函数时,其值都会被拷贝。值得注意的是,Swift 中,整型、浮点数、布尔、字符串、数组和字典都是值类型,都是通过结构体实现的。
struct Resolution {
var width = 0
var height = 0
}
let hd = Resolution(width: 1920, height: 1080)
var cinema = hd
cinema.width = 2048
print("cinema is now \(cinema.width) pixels wide")
print("hd is still \(hd.width) pixels wide")