此文集可以大致看作网站PointFree讨论内容的翻译:如何在Swift中高效、便捷地使用函数式编程。每期视频需要订阅($17/月),讨论内容和示例工程完全免费。疏漏之处在所难免,如有兴趣请移步至PointFree查看原始内容
在Swift中自定义运算符
首先看一个简单的需求,类似于 ??
操作符:String?类型变量s可以使用 ~~
操作符返回当前值或者~~(如果s = nil)
var s: String? = "s"
s!! (返回值: s)
s = nil
s!! (返回值: !!)
- 定义后缀操作符
~~
postfix operator ~~
- 定义完成之后需要实现操作
postfix func ~~(_ s: String?) -> String {
guard let s = s else {
return "~~"
}
return s
}
- 尝试一下
let a: String? = nil
let b = "b"
print(a~~) ~~
print(b~~) "b"