1.重载操作符(定义一个全新的操作符)
//precedencegroup:定义一个操作符优先级
precedencegroup dianji{
//定义了结合律,加法和减法是left,从左到右的计算顺序
associativity: none
//制定优先级(MultiplicationPrecedence:乘法运算)
higherThan: MultiplicationPrecedence
}
infix operator +*:dianji
操作符的声明必须在全局范围内;
2.在函数中修改参数的值
func change(num: var Int) 这个语法在3.0的时候已经不能编译通过了.所以要通过函数来修改参数的值,可以用inout关键字
func changeNum(num:inout Int) {
num += 1
}
//调用
var num = 1
changeNum(num: &num)
print(num)
3 typealias:给已存在的类型加个别名 :typealias location = CGPoint