Files

171 lines
2.4 KiB
Swift

import UIKit
import CoreGraphics
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)
struct Shape {
var width: Int
var side: Int {
willSet {
print("willSetSide", newValue)
}
didSet {
print("didSetSide", oldValue, side)
}
}
var girth: Int {
set {
width = newValue / side
print("setGirth", newValue)
}
get {
print("getGirth")
return width * side
}
}
func show() {
print("width=\(width), side=\(side), girth=\(girth)")
}
}
func test(_ num: inout Int) {
num = 20
}
var s = Shape(width: 10, side: 4)
test(&s.width)
s.show()
print("----------")
test(&s.side)
s.show()
print("----------")
test(&s.girth)
s.show()
struct CarA {
static var count: Int = 0
init() {
CarA.count += 1
}
}
let c1 = CarA()
let c2 = CarA()
let c3 = CarA()
print(CarA.count)
//
public class FileManager {
//
public static let shared = FileManager()
//
private init() {}
//
func run() {
}
}
FileManager.shared.run()