Swift -- swift 函数代码

// **************** 函数 *******************
func greet(name:String, day:String) -> String{
    return "Hello (name), today is (day)."
}
greet("Bob", day:"Tuesday")

// 使用元祖来让一个函数返回多个值
func calculateStatistics(scores:[Int]) -> (min:Int, max:Int, sum:Int){
    var min = scores[0]
    var max = scores[1]
    var sum = 0
    for score in scores{
        if score > max{
            max = score
        }
        if score < min{
            min = score
        }
        sum += score
    }
    return (min, max, sum)
}
let statistics = calculateStatistics([5, 3, 100, 3, 9]);
println(statistics.sum)
println(statistics.2)

// 带有可变个数参数的函数
func sumOf(numbers:Int...) -> Int{
    var sum = 0
    for number in numbers{
        sum += number
    }
    return sum
}
sumOf()
sumOf(42, 597, 12)

func returnFifteen() -> Int{
    var y = 10
    func add(){
        y += 5
    }
    add()
    return y
}
returnFifteen()

func makeIncrementer() -> (Int -> Int){
    func addOne(number:Int) -> Int{
        return 1 + number
    }
    return addOne
}
var increment = makeIncrement()
increment(7)

*****************************

func vari<N>(members:N...){

    for i in members{

        println(i)

    }

}

vari(4, 3, 5)

vari(4.5, 3.1, 5.6)

vari("Google", "Baidu", "Runoob")

******************************

func makeIncrementor(forIncrement amount:Int) -> () -> Int{
    var runningTotal = 0
    func incrementor() -> Int{
        runningTotal += amount
        return runningTotal
    }
    return incrementor
}
let incrementByTen = makeIncrementor(forIncrement:10)
print(incrementByTen())
print(incrementByTen())
print(incrementByTen())
********************************

enum Student{
    case Name(String)
    case Mark(Int, Int, Int)
}
var studDetails = Student.Name("Runoob")
var studMarks = Student.Mark
switch studMarks{
    case .Name(let studName):
        println("name: (studName)")
    case .Mark(let Mark1, let Mark2, let Mark3):
        println("(Mark1), (Mark2), (Mark3)")
}

原文地址:https://www.cnblogs.com/lianfu/p/4989349.html