限制

可以使用 where 句子在泛型类型上编写一个更具限制性的方法。

extension Array where Element: StringLiteralConvertible {
  func toUpperCase() -> [String] {
      var result = [String]()
      for value in self {
          result.append(String(value).uppercaseString)
      }
      return result
    }        
}

使用示例

let array = ["a","b","c"]
let resultado = array.toUpperCase()