Swift 自定义运算符

如题所述

第1个回答  2022-08-03

Swift 提供了一组对于 C 或者 Objective-C 开发者来说十分熟悉的运算符,并且补充了一些新的(特别需要注意的是,区间运算符和空值合并(nil coalescing)运算符):

如下面这些运算符

Swfit 是可以重载运算符的,其能够让现有的运算符像 + 在其它的类型中起作用。

为了重载一个运算符,需要为运算符号简单的定义一个新的函数,并且要有适当的参数个数。

例如,重载 * 来让一个字符串重复某个特定的次数:

然而,这是一个有争议的语言特性。

如下语句:

两个数组相加,想得到 [1, 2, 3, 4] ,但重载以后:

得到的是 [4.0, 6.0]

运算符重载的问题会造成:语意不清。在使用时,要注意具体应用,并避免重载。

如果需要重载运算符要考虑多种情况,避免出现不可预见的 bug .

自定义运算符,一般可以分三步

需要注意的是, Swift 的操作符必须是全局部的,用 static 修饰。这就可能与其他 module 定义的操作符有冲突,这点需要特别注意。自定义操作符应该尽量避免重载,应简尽简,切禁写的太复杂,命名尽量规范,避免误解。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网