09-方法

2023-04-07  本文已影响0人  二斤寂寞

方法(Method)

self
□在实例方法中代表实例对象
□在类型方法中代表类型

□在类型方法static func getCount中
□cout等价于self.cout、Car.self.cout、Car.cout

class Car {
    static var cout = 0
    init() {
        Car.cout += 1
    }
    static func getCount() -> Int { cout }
}
let c0 = Car()
let c1 = Car()
let c2 = Car()
print(Car.getCount()) // 3

mutating

struct Point {
    var x = 0.0, y = 0.0
    mutating func moveBy(deltaX: Double, deltaY: Double) {
        x += deltaX
        y += deltaY
        // self = Point(x: x + deltaX, y: y + deltaY)                                                       
    }
}
enum StateSwitch {
    case low, middle, high
    mutating func next() {
        switch self {
        case .low:
            self = .middle
        case .middle:
            self = .high
        case .high:                                             
            self = .low
        }                                                            
    }
}

@disscardableResult

struct Point {
    var x = 0.0, y = 0.0
    @discardableResult mutating
    func moveX(deltaX: Double) -> Double {
        x += deltaX                                             
        return x
    }
}
var p = Point()
p.moveX(deltaX: 10)
@discardableResult
func get() -> Int {                                             
    return 10
}                                                            
get()
上一篇 下一篇

猜你喜欢

热点阅读