funcで返り値をdouble型にした時のreturnでのエラー


funcで返り値をdouble型にした時、returnでエラーが出てしまいます。  
原因がわかる方がいましたら、ご教授お願いします。

[code]

    var pcascore:Array<Double> = [3.2, 2.4, 3.5, 1.3]
    
    func arrayplus(pcascore : Double... )-> Double { // 引数の合計値を求める
        var total:Double = 0.0
    
        for n in pcascore {
            total += n
        }
        //print(total)
        pcaallscore.append(total)
    
        return pcaallscore
        // Cannot convert return expression of type '[Double]' to return type 'Double'
        // というエラーが出てしまいます。
    }
    
[/code]




pcaallscore は Double のリストで、リターンするべきなのは Double（単体の変数）だからだと思います。  
戻りを配列で返すのであれば関数の定義を、

[code]

    func arrayplus(pcascore : Double... )-> Array<Double> {
    
[/code]

とするべきではないでしょうか？

