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
}

你可能感兴趣的:(swift3 自定义运算符(为运算符添加方法))