1.重載操作符(定義一個(gè)全新的操作符)
//precedencegroup:定義一個(gè)操作符優(yōu)先級(jí)
precedencegroup dianji{
//定義了結(jié)合律,加法和減法是left,從左到右的計(jì)算順序
associativity: none
//制定優(yōu)先級(jí)(MultiplicationPrecedence:乘法運(yùn)算)
higherThan: MultiplicationPrecedence
}
infix operator +*:dianji
操作符的聲明必須在全局范圍內(nèi);
2.在函數(shù)中修改參數(shù)的值
func change(num: var Int) 這個(gè)語法在3.0的時(shí)候已經(jīng)不能編譯通過了.所以要通過函數(shù)來修改參數(shù)的值,可以用inout關(guān)鍵字
func changeNum(num:inout Int) {
num += 1
}
//調(diào)用
var num = 1
changeNum(num: &num)
print(num)
3 typealias:給已存在的類型加個(gè)別名 :typealias location = CGPoint