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)

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...