Files
SwiftStudy/10 属性 inout.playground/Contents.swift
2022-01-10 00:02:26 +08:00

103 lines
1.3 KiB
Swift

import UIKit
struct Circle {
//
var radius: Double
//
var diameter: Double {
set(newDiameter) {
radius = newDiameter / 2
}
get {
radius * 2
}
}
}
var circle = Circle(radius: 5)
print(circle.radius)
print(circle.diameter)
struct Point {
var x: Int
var y: Int
//
init() {
x = 10
y = 20
}
}
var p = Point()
struct Point3D {
var x: Int
var y: Int
var z: Int
}
var p3d = Point3D(x: 10, y: 20, z: 30)
struct PointA {
var x: Int = 10
var y: Int = 20
}
var pa = PointA()
class Car {
init() {
print("Car init!")
}
func run() {
print("Car is running!")
}
}
class Person {
lazy var car = Car()
init() {
print("Person init!")
}
func goOut() {
car.run()
}
}
let ps = Person()
print("-----------")
ps.goOut()
struct PointB {
var x = 0
var y = 0
lazy var z = 0
}
let pb = PointB()
//print(pb.z)
struct CircleA {
var radius: Double {
willSet {
print("willSet", newValue)
}
didSet {
print("didSet", oldValue, radius)
}
}
init() {
self.radius = 10
print("Circle init!")
}
}
var circleA = CircleA()
circleA.radius = 10.5
print(circleA.radius)