Struct
Struct
结构体主要用来对数据结构的打包封装,它有以下特性
Struct
是一种Value Type
(值传递) 的资料类型,不同于Reference Type
(引用传递)。
当Struct
作为参数传递或赋值时,传递过去的是一个副本,这时修改的只是副本,不会影响到原始值。因此,值类型常适用于简单的数据结构和小型数据。
Struct
可以有静态、实例的属性和方法Struct
可以实现协议(protocol)Struct
的实例方法可以修改自身内容,但需要在方法前面添加mutating
关键字。Struct
可以定义init
构造函数,默认会自动生成一个无参数的构造函数,被称为逐一成员构造器(memberwise initializer)
代码示例
// 演示一个三维坐标的调整
struct Point {
var x = 0.0, y = 0.0, z = 0.0
// 移动到新坐标
mutating func moveTo(x: Double, y: Double, z: Double) {
self.x = x
self.y = y
self.z = z
}
}
var point = Point(x: 1.0, y: 2.0, z: 3.0)
point.moveTo(x: 4.0, y: 5.0, z: 6.0)
print("((point.x), (point.y), (point.z))")
// -----------
// 打印输出为:
// (4.0, 5.0, 6.0)
本文自 https://www.codeun.com 发布,相应代码均自主编写并严格审阅和测试,完整代码中包含丰富的学习笔记和使用方式、实用技巧。
· 如若转载,请注明出处:https://www.codeun.com/archives/898.html ·