使用系统已有运算符
如果系统已经定义过该运算符,例如 +
+=
等等,我们就直接给该运算符添加一个方法
// 定义一个结构体
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
}