从这篇文章,你将学习到如何使用 Swift 的结构体,其涵盖的内容较多,这里先只讲解大概,更多细节可以查看下面结构体的能力。

Swift Structs

结构体的能力

定义

定义了结构体 Resolution,其有两个属性 widthheight

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")