我只是在寻找 swift 中高阶函数的内部实现,例如 map、filter、reduce。
根据苹果文档。
@inlinable public func map(_transform: (Element) throws -> T) re throws -> [T]
返回一个数组,其中包含将给定闭包映射到序列元素的结果。
例如;
var arr = [1,2,3,4,5]
print(arr.map({$0*5}))
Run Code Online (Sandbox Code Playgroud)
输出将是
[5,10,15,20,25];
或者
print(arr.map({String($0)}))
Run Code Online (Sandbox Code Playgroud)
我只是想知道这里的计算基本上是如何工作的或者更高阶的内部工作原理。您能否在这里帮助我,了解映射在这里如何工作,例如如何处理值(相乘或转换为字符串)。
我正在尝试编写一个通用函数,它将添加字符串、整数、浮点数、双精度数。
但只有当我的泛型是数字约束时,我的泛型函数才使用数字。
func add<T: Numeric>(first:T, second:T) -> T {
return first + second
}
Run Code Online (Sandbox Code Playgroud)
要使用字符串,它必须是序列,但同样它不适用于数字。
所以,请让我知道我在这里做错了什么。有没有办法制作单个函数来添加字符串和数字。