有没有一种方法可以在Swift中初始化一个数组,使其具有某种类型T的重复值

有没有一种方法可以在Swift中初始化一个数组,使其具有某种类型T的重复值,swift,generics,swift-array,Swift,Generics,Swift Array,在我的init函数中,我有: self.x = [T](count: dimensions, repeatedValue: 0) 这是行不通的。我怎样才能让它工作呢 我希望x是一个类型为T且初始化为0的数组。(T直观上类似于Int,但也可能是其他数字表示形式。)您的代码正常工作,您只需确保T可以从0转换(integerliteralcoverable) 您的代码可以工作,您只需确保T可以从0转换(integerliteralcoverable) func test<T: Integer

在我的init函数中,我有:

 self.x = [T](count: dimensions, repeatedValue: 0)
这是行不通的。我怎样才能让它工作呢


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

您的代码正常工作,您只需确保
T
可以从
0
转换(
integerliteralcoverable


您的代码可以工作,您只需确保
T
可以从
0
转换(
integerliteralcoverable

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]
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]