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)

时间: 2024-11-08 18:58:15

Swift函数重载的相关文章

Swift构造器重载

与函数一样,方法也存在重载,其重载的方式与函数一致.那么作为构造器的特殊方法,是否也存在重载呢?答案是肯定的.一.构造器重载概念Swift中函数重载的条件也适用于构造器,条件如下:函数有相同的名字:参数列表不同或返回值类型不同,或外部参数名不同:Swift中的构造器可以满足以下两个条件,代码如下: class Rectangle { var width : Double var height : Double init(width : Double, height : Double) { ① s

javascript 函数重载 overloading

函数重载 https://en.wikipedia.org/wiki/Function_overloading In some programming languages, function overloading or method overloading is the ability to create multiple methods of the same name with different implementations. Calls to an overloaded functi

day4 函数重载

函数的重载 1.函数重载的定义:在同一个类中,有一个以上的同名函数,只要函数的参数列表或参数类型不一样即可,与返回值无关, 这些统称为方法的重载. 2.函数的重载存在的原因:为了增强方法的阅读性,优化了程序设计. 案例1:九九乘法表 1 private static void print99() { 2 for(int i = 1 ; i<= 9 ; i ++){ 3 for(int j = 1 ; j<=i ; j++){ 4 System.out.print(i+"*"

c++中的函数重载

c++中的函数重载 什么是函数重载 重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数.类型或者顺序)必须不同,这组函数被称为重载函数. 函数重载的作用 重载函数常用来实现功能类似而所处理的数据类型不同的问题,能减少函数名的数量,提高程序的可读性. 重载函数的构成说明 定义一个类,添加一系列函数名相同的函数,但参数形式各有不同,测试一下能否构成重载. #include <iostream> using names

【Swift初见】Swift函数(一)

在任何语言中,函数都是非常重要的,今天我们就来初步的学习下Swift中的函数. 1.Swift函数默认参数: ①.可以放在函数的任意位置: ②.外部名称与内部名称一致: ③.调用的时候可以不写: ④.在函数定义时传入参数里定义好. func joinString(s1: String , toString s2: String , joiner s3 : String = "*") -> String{ return s1 + s3 + s2 } let str = joinSt

Swift函数

函数定义 使用 func 定义一个函数.调用函数使用他的名字加 上小括号中的参数列表.使用 -> 分隔参数的名字和 返回值类型. 函数声明: func greet(name: String, day: String) -> String { return "Hello \(name),today is \(day)." } 函数调用:greet("Bob", "Tuesday") 无返回值函数 func sayGoodbye(pers

Swift函数和闭包

函数 Swift 使用func关键字声明函数: 1 func greet (name: String, day: String) -> String { 2 return "Hello \(name), today is \(day)." 3 } 4 greet ("Bob", "Tuesday") 通过元组(Tuple)返回多个值: 1 func getGasPrices () -> (Double, Double, Double)

C++函数重载实现的原理以及为什么在C++中调用C语言编译的函数时要加上extern &quot;C&quot;声明

C++相对于C语言而言支持函数重载是其极大的一个特点,相信在使用C语言的时候大家如果要写一个实现两个整型数据相加的函数还要写一个浮点型数据相加的函数,那么这两个函数的名字绝对不可以一样,这样无疑在我们使用这个函数的时候增加了复杂性,但是在C++中我们却可以很好的解决这个问题,因为在C++中函数是支持重载的也就是说两个函数的函数名可以一样,这样并不会出现函数名重定义的问题,但是我们在使用的时候也要遵守一些规定,这些规定我们会在接下来的讨论中提到,下面我们就来分析在C++中函数是如何实现函数的重载的

C++ 函数重载与函数匹配

<C++ Primer>笔记,整理关于函数重载与函数匹配的笔记. 函数重载 void func(int a); //原函数 void func(double a); //正确:形参类型不同 void func(int a, int b); // 正确:形参个数不同 int func(int a); //错误:只有返回类型不同 typedef int int32; void func(int32 a); //与原函数等价:形参类型相同 void func(const int a); //与原函数