Swift编程:运算符、隐私控制、内省与内存管理
1. 运算符
在Swift中,像 + 和 > 这类运算符并非语言内置的魔法操作,实际上它们是函数,和其他函数一样需要显式声明和实现。这就解释了为什么在 reduce 调用中, + 可以作为第二个参数传递,因为 reduce 期望一个接收两个参数并返回与第一个参数类型匹配值的函数,而 + 正是这样一个函数。同时,这也说明了Swift运算符能够针对不同的值类型进行重载。比如, + 可以用于数字、字符串或数组,在不同的场景下有不同的含义,这是因为同名但参数类型不同(即不同的签名)的函数是不同的函数,Swift会根据参数类型来确定调用的是哪个 + 函数。
1.1 运算符的声明
运算符的声明有其特殊的语法。例如,在Swift头文件中可以看到这样的声明:
infix operator + : AdditionPrecedence
这是一个运算符声明,它表明 + 是一个运算符,并说明了它有两个参数,且使用时位于两个参数之间。运算符类型有以下几种:
- infix :该运算符接收两个参数,位于参数之间。
- prefix :该运算符接收一个参数,位于参数之前。
超级会员免费看
订阅专栏 解锁全文
46

被折叠的 条评论
为什么被折叠?



