SWIFT中函数返回值为Tuple

 在playgroundm内键入以下代码,求一个成绩数组内最大分值和最小分值

func maxminScore(scores:Array<Int>) -> (maxScore:Int,minScore:Int)? { //一个可以空的Tuple

    if scores.isEmpty{

        return nil  //判断是否有值,没值就返回一个空值

    }

    

    var maxScore = scores[0], minScore = scores[0]

    

    for score in scores[1..<scores.count]{

        maxScore = max(maxScore, score)

        minScore = min(minScore, score)

    }

    return (maxScore: maxScore, minScore: minScore) //返回结果

}

 

 

var scores:[Int]? = [60,80,90,100,30,26,87]

var allScores = scores ?? []

 

if let result = maxminScore(allScores){

    println("The maximum score is \(result.maxScore)")

    println("The minimum score is \(result.minScore)")

}

 

 //使用Tuple.下标访问元素

if let result = maxminScore(allScores){

    println("The maximum score is \(result.0)")

    println("The minimum score is \(result.1)")

}

 //给返回的值赋值给变量后可以直接使用

if let (a,b) = maxminScore(allScores){

    println("The maximum score is \(a)")

    println("The minimum score is \(b)")

}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。