gpt4 book ai didi

swift - 有没有一种方法可以在 Swift 中初始化数组以具有某些类型 T 的重复值

转载 作者:搜寻专家 更新时间:2023-11-01 05:59:08 24 4
gpt4 key购买 nike

在我的初始化函数中,我有:

 self.x = [T](count: dimensions, repeatedValue: 0)

这是行不通的。我该如何让它发挥作用。

我希望 x 是一个初始化为 0 的类型为 T 的数组。(T 直观上类似于 Int,但可以是其他一些数字表示形式。)

最佳答案

您的代码有效,您只需确保 T 可以从 0 (IntegerLiteralConvertible) 转换

func test<T: IntegerLiteralConvertible>(dimensions: Int) -> [T] {
return [T](count: dimensions, repeatedValue: 0)
}

println(test(3) as [Int]) //[0, 0, 0]
println(test(3) as [Double]) //[0.0, 0.0, 0.0]

或者以某种方式确保 val 的类型为 T

func test<T>(dimensions: Int, val: T) -> [T] {
return [T](count: dimensions, repeatedValue: val)
}

println(test(3, 1)) //[1, 1, 1]
println(test(3, "a")) //[a, a, a]

关于swift - 有没有一种方法可以在 Swift 中初始化数组以具有某些类型 T 的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28290988/

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