swift3 自定义运算符(为运算符添加方法)

使用系统已有运算符

如果系统已经定义过该运算符,例如 + += 等等,我们就直接给该运算符添加一个方法

// 定义一个结构体
struct Subject {
    var string: String
    var number: Int
}
// 给 + 运算符添加方法,功能为处理Subject的实例中的属性
func +(left: Subject, right: Subject) -> Subject {
    var sbj = Subject(string: "", number: 0)
    // 字符串拼接    
    sbj.string = left.string + right.string
    // 两个数字相加
    sbj.number = left.number + right.number
    return sbj
}

接下来使用这个运算符

let s1 = Subject(string: "s1", number: 1)
let s2 = Subject(string: "s2", number: 2)
let s = s1 + s2
print(s.string) // 输出 "s1s2"
print(s.number) // 输出 3

自定义运算符

二元运算符

// 举个栗子,随便写的,我也没想到用什么
infix operator +++
func +++(left: String, right: String) -> String {
    return  left + right
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容