swift教程【入门】 swift 函数之旅
2016-07-20 16:10
246 查看
Swift中的每个函数都有一个类型,包含函数的参数类型和返回类型。它可以很容易的将函数作为参数进行传递,甚至从函数中返回参数类型。
《1》函数的申明与调用:
func 函数名( 参数1:类型 ,参数2:类型...)->返回类型{}
说明:
1: func 是函数关键字
2:{} 函数体
3: 函数名,当要使用一个函数的时候,通过函数名进行调用
4:返回类型不是必须的,如果无类型返回,相当于void,则返回类型可以不写
5:参数可以有多个,也可以不传参数
例如下面被调用的函数,返回类型为Int,它需要输入两个入参,返回两个入参之和
func addone(one:Int,two:Int)->Int{
return one+two}
print(addone(1,two:
2))
《2》多返回值函数
你可以使用一个元组类型,作为函数的返回类型,返回一个有多个值组成的一个复合值,作为返回值
fanc count(string:String)->(one:Int,two:Int,Third:Int){
}
《3》外部参数名
如果你希望用户调用你的函数时候,提供参数的名称,则可以设置,外部参数名,这种设置,能让函数
更加显得浅显易懂。
像下面的例子,调用的时候,需要提供每个参数的参数名
func addto(start s1:Int,second s2:Int,third s3:Int)->Int{
return s1+s2+s3}
var y=addto(start:
1, second: 2, third:
3)
print(y)
《3》参数默认值
设计函数的时候,可以给参数设置默认值,如果已经设置了默认值,在调用函数的时候,可以不提供相应的入参
例如下面,参数s3已设置了默认值,所以可以不设置相应入参
func addtos(start s1:Int,second s2:Int,third s3:Int=3)->Int{
return s1+s2+s3
}
var y1=addtos(start:
1, second: 2)
print(y1)
《4》可变参数
一个可以参数,可以接受一个或者多个同一类型的参数,这样在调用的时候,则不会受到参数数量的限制
func sumof(numbers:Int...)->Int{
var sum=0
for number
in numbers{
sum+=number
}
return sum
}
sumof()
var t=sumof(1,2,3)
print(t)
《5》 输入-输出参数
如果想用一个函数来改变本身的值,则需要使用到输入-输出参数inout。
如下参数的作用,是把两个参数的值互换,函数没有返回值,值的改变,一直到函数输出,仍然起作用。
func swapTwoInt(
inout a: Int,
inout b: Int ) {
let temp=a
a=b
b=temp
}
var someint=3
var another=6
swapTwoInt(&someint,b: &another)
print(someint)
《6》 嵌套函数
顾名思义,嵌套函数的意思,就是在函数内再嵌套一个函数,嵌套函数默认对外界是隐藏的,但是可以调用和使用其嵌套函数,
嵌套函数也可以提供返回值,提供给函数内,另一范围内使用
例如下面,addOne为嵌套函数,作用为给相应入参值+1,所以在初始化makeIncrement后,输入参数后,则调用到addOne,并返回加1值
func makeIncrement() -> (Int->Int) {
func addOne(number:Int)->Int{
return
1+number
}
return
addOne
}
var increment=makeIncrement()
print(increment(7))
《1》函数的申明与调用:
func 函数名( 参数1:类型 ,参数2:类型...)->返回类型{}
说明:
1: func 是函数关键字
2:{} 函数体
3: 函数名,当要使用一个函数的时候,通过函数名进行调用
4:返回类型不是必须的,如果无类型返回,相当于void,则返回类型可以不写
5:参数可以有多个,也可以不传参数
例如下面被调用的函数,返回类型为Int,它需要输入两个入参,返回两个入参之和
func addone(one:Int,two:Int)->Int{
return one+two}
print(addone(1,two:
2))
《2》多返回值函数
你可以使用一个元组类型,作为函数的返回类型,返回一个有多个值组成的一个复合值,作为返回值
fanc count(string:String)->(one:Int,two:Int,Third:Int){
}
《3》外部参数名
如果你希望用户调用你的函数时候,提供参数的名称,则可以设置,外部参数名,这种设置,能让函数
更加显得浅显易懂。
像下面的例子,调用的时候,需要提供每个参数的参数名
func addto(start s1:Int,second s2:Int,third s3:Int)->Int{
return s1+s2+s3}
var y=addto(start:
1, second: 2, third:
3)
print(y)
《3》参数默认值
设计函数的时候,可以给参数设置默认值,如果已经设置了默认值,在调用函数的时候,可以不提供相应的入参
例如下面,参数s3已设置了默认值,所以可以不设置相应入参
func addtos(start s1:Int,second s2:Int,third s3:Int=3)->Int{
return s1+s2+s3
}
var y1=addtos(start:
1, second: 2)
print(y1)
《4》可变参数
一个可以参数,可以接受一个或者多个同一类型的参数,这样在调用的时候,则不会受到参数数量的限制
func sumof(numbers:Int...)->Int{
var sum=0
for number
in numbers{
sum+=number
}
return sum
}
sumof()
var t=sumof(1,2,3)
print(t)
《5》 输入-输出参数
如果想用一个函数来改变本身的值,则需要使用到输入-输出参数inout。
如下参数的作用,是把两个参数的值互换,函数没有返回值,值的改变,一直到函数输出,仍然起作用。
func swapTwoInt(
inout a: Int,
inout b: Int ) {
let temp=a
a=b
b=temp
}
var someint=3
var another=6
swapTwoInt(&someint,b: &another)
print(someint)
《6》 嵌套函数
顾名思义,嵌套函数的意思,就是在函数内再嵌套一个函数,嵌套函数默认对外界是隐藏的,但是可以调用和使用其嵌套函数,
嵌套函数也可以提供返回值,提供给函数内,另一范围内使用
例如下面,addOne为嵌套函数,作用为给相应入参值+1,所以在初始化makeIncrement后,输入参数后,则调用到addOne,并返回加1值
func makeIncrement() -> (Int->Int) {
func addOne(number:Int)->Int{
return
1+number
}
return
addOne
}
var increment=makeIncrement()
print(increment(7))
相关文章推荐
- Android Native 绘图方法
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Apple Swift学习教程
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 介绍 Fedora 上的 Swift
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- 关于C#中排序函数的总结
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- C#中struct和class的区别详解
- DOS批处理 函数定义与用法