swift 如何用范型实现add

如题

func add<T>(x: T, y: T) -> T {
  return x + y
}

这边如何保证x,y对+操作符有对应实现?如果我只是想对字面值做这个add的函数,应该怎么做

阅读 2.1k
1 个回答

可以用一个protocol来保证这一点

protocol AddAble {
    func +(lhs: Self, rhs: Self) -> Self
}
func add<T:addAble>(x: T, y: T) -> T {
    return x + y
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进