1. 结构体的定义:
// 定义一个简单的结构体
struct Point {
var x: Double
var y: Double
}
2. 结构体实例的创建和访问:
// 创建结构体实例
var origin = Point(x: 0.0, y: 0.0)
// 访问结构体的属性
print("Origin: (\(origin.x), \(origin.y))")
3. 结构体的方法:
// 在结构体中添加方法
struct Point {
var x: Double
var y: Double
func distance(to otherPoint: Point) -> Double {
let deltaX = otherPoint.x - self.x
let deltaY = otherPoint.y - self.y
return sqrt(deltaX * deltaX + deltaY * deltaY)
}
}
// 使用结构体的方法
let point1 = Point(x: 0.0, y: 0.0)
let point2 = Point(x: 3.0, y: 4.0)
let distance = point1.distance(to: point2)
print("Distance: \(distance)")
4. 结构体的初始化器:
// 自定义结构体的初始化器
struct Size {
var width: Double
var height: Double
init(width: Double, height: Double) {
self.width = width
self.height = height
}
}
// 使用初始化器创建结构体实例
let size = Size(width: 10.0, height: 20.0)
5. 结构体的逐一成员构造器:
结构体会自动生成一个逐一成员构造器,用于通过结构体成员的名称来初始化结构体实例。
// 使用逐一成员构造器创建结构体实例
let anotherSize = Size(width: 30.0, height: 40.0)
6. 结构体的值传递:
结构体是值类型,当被传递给函数或赋值给其他变量时,会被拷贝。
var originalSize = Size(width: 50.0, height: 60.0)
var newSize = originalSize
newSize.width = 70.0
print("Original Size: \(originalSize.width), \(originalSize.height)")
print("New Size: \(newSize.width), \(newSize.height)")
在这个例子中,对 newSize 的修改不会影响到 originalSize。
结构体在 Swift 中广泛用于定义轻量级的数据结构。它们是值类型,适合用于简单的数据表示和传递。
转载请注明出处:http://www.zyzy.cn/article/detail/6849/Swift