gpt4 book ai didi

arrays - Swift Array.filter 方法

转载 作者:行者123 更新时间:2023-11-28 05:34:07 25 4
gpt4 key购买 nike

Swift的filter方法定义如下:

func filter(includeElement: (T) -> Bool) -> [T]

为什么 Swift 数组中的过滤器定义没有 <T>在它的定义中(即 filter(...))?

最佳答案

filterArray<T> 的一种方法类,所以 T在类级别指定并且无需在方法中复制它 - 实际上在方法级别这样做是错误的:

struct Array<T> ... {
func filter<V>(includeElement: (V) -> Bool) -> [V]
}

因为V是与 T 无关的不同类型(除非您在通用定义中设置约束)。我的意思是错误的 TV是不同的类型,但可以认为它们是相同的。不过,拥有一个带有泛型方法的泛型类是完全合法的。

关于arrays - Swift Array.filter 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25735958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com