func 开篇() -> 在Swift中自定义操作符

此文集可以大致看作网站PointFree讨论内容的翻译:如何在Swift中高效、便捷地使用函数式编程。每期视频需要订阅($17/月),讨论内容和示例工程完全免费。疏漏之处在所难免,如有兴趣请移步至PointFree查看原始内容

在Swift中自定义运算符

首先看一个简单的需求,类似于 ?? 操作符:String?类型变量s可以使用 ~~ 操作符返回当前值或者~~(如果s = nil)

var s: String? = "s"
s!! (返回值: s)
s = nil
s!! (返回值: !!)
  1. 定义后缀操作符 ~~
postfix operator ~~

  1. 定义完成之后需要实现操作
postfix func ~~(_ s: String?) -> String {
    guard let s = s else {
        return "~~"
    }
    return s
}
  1. 尝试一下
let a: String? = nil
let b = "b"
print(a~~) ~~
print(b~~) "b"

你可能感兴趣的:(func 开篇() -> 在Swift中自定义操作符)