Swift函数重载

1、函数重载的概念


    函数的重载指的是多个函数享有相同的名字都是有不同的参数或返回值类型不同,它们互相成为重载关系,



2、与其它语言的不同


    Swift函数的参数类型包含了参数列表类型和返回值类型,例如(Double,Double)->Double 是由2个Double类型参数列表和Double类型的返回值类型构成,也就是说Swift中函数名相同,参数列表不同或者返回值类型不同的函数都可以构成重载,而在C++或者JAVA中,函数的重载只是与参数列表有关系,与返回值没有关系



3、示例


    func receive(i : Int){

            println("接受一个Int类型的参数\(i)")


}


    func receive(d : Double){


                println("接受一个Double类型的参数\(i)")

}



    func receive(x : Int,y : Int){


                println("接受两个Int类型的参数x=\(x),y=\(y)")

}


    func receive(i : Int) -> Int{

            println("接受一个Int类型的参数\(i),返回值为Int类型")


            return i * i


}


    

        let a1 : Int = receive(10)


        let a2 : () = receive(10)


        let a3 :Void = receive(10)

        

        let a4 = receive(10.0)

    

        let a5:() = receive(10,20)


       

         外部参数名不同的时候也可以重载


            示例代码如下:


        func receive(x : Int, y : Int) {

            println(接收有个Int类型的参数:x=\(x),y=\(y))


}


    

        func receive(X x : Int,  Y y : Int) {

            println(接收有个Int类型的参数:x=\(x),y=\(y))


}


        let a1 :() = receive(10,20)


        let a2 :() = receive(X:10,Y:20)