与另一个数组具有相同类型的Swift init空数组

与另一个数组具有相同类型的Swift init空数组,swift,Swift,我是Swift的初学者,所以这个问题可能很傻 我想要一个函数,其中创建的空数组的类型与传入参数的类型相同。 我试过下面的方法,但都不管用 private func doSomething<T>(source: [T]) { var result = [source] var result = [source]() var result = [type(of:source)]() var result: type(of:source) = Array()

我是Swift的初学者,所以这个问题可能很傻

我想要一个函数,其中创建的空数组的类型与传入参数的类型相同。
我试过下面的方法,但都不管用

private func doSomething<T>(source: [T]) {
    var result = [source]
    var result = [source]()
    var result = [type(of:source)]()
    var result: type(of:source) = Array()
}
private func doSomething(来源:[T]){
var结果=[来源]
var结果=[source]()
var结果=[类型(来源)]()
变量结果:类型(of:source)=数组()
}
我看到这样做的选项:

private func shuffle<T>(source: [T]) {
    var result = source
    result = []
}
private func shuffle(源:[T]){
var结果=源
结果=[]
}
但是有没有更好的方法来实现我的目标呢?

您可以这样做:

private func shuffle<T>(source: [T]) {
    var result: [T] = []
    //do something with your result (being an empty array at this point)
}
private func shuffle(源:[T]){
变量结果:[T]=[]
//对结果进行处理(此时为空数组)
}
简单地说:

var result = [T]()

var result: [T] = []