Swift面試題

一.卓同學(xué)的 Swift 面試題
答 《卓同學(xué)的 Swift 面試題》
答《卓同學(xué)的 Swift 面試題》上
答《卓同學(xué)的 Swift 面試題》下

4道過濾菜鳥的iOS面試題
答卓同學(xué)的iOS面試題

二.iOS萌新救助站一:簡(jiǎn)歷要寫幾個(gè)項(xiàng)目

三.讓 BAT 的 Offer 不再難拿

四.[iOS]關(guān)于面試,做一次整理吧(包含BAT面試題目)

五.道長(zhǎng)的 Swift 面試題

六.Swift 面試題

七.知乎熱門

八.2017年5月iOS招人心得(附面試題)
2017年iOS面試題總結(jié)

九.面試了 20 個(gè)初/中級(jí) iOS 工程師之后(上)
面試了 20 個(gè)初/中級(jí) iOS 工程師之后(下)

十.[iOS]關(guān)于面試,做一次整理吧(包含BAT面試題目)

[六]高級(jí)-問題 #2(講解)
Swift可以自定義運(yùn)算符。自定義的運(yùn)算符可以在全局使用。需要使用operator關(guān)鍵字。使用prefix, infix or postfix標(biāo)記運(yùn)算符使用的位置。

prefix operator +++ {}
prefix func +++ (inout vector: Vector2D) -> Vector2D {
    vector += vector
    return vector
}

var toBeDoubled = Vector2D(x: 1.0, y: 4.0)
let afterDoubling = +++toBeDoubled
// toBeDoubled now has values of (2.0, 8.0)
// afterDoubling also has values of (2.0, 8.0)

自定義操作符,可以定義操作符的關(guān)聯(lián)性associativity和優(yōu)先級(jí)precedence。associativity有三個(gè)值:left, right, none,默認(rèn)是none。precedence默認(rèn)值是:100。

infix operator +- { associativity left precedence 140 }
func +- (left: Vector2D, right: Vector2D) -> Vector2D {
    return Vector2D(x: left.x + right.x, y: left.y - right.y)
}
let firstVector = Vector2D(x: 1.0, y: 2.0)
let secondVector = Vector2D(x: 3.0, y: 4.0)
let plusMinusVector = firstVector +- secondVector
// plusMinusVector is a Vector2D instance with values of (4.0, -2.0)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容