Swift函数

外部形参名
func join(string s1:String,toString s2:String,withString withJoiner:Strinhg){}

join(string: "hello", toString: "world", withJoiner: ", ")
外部形参名与本地形参用空格隔开。外部形参使你的参数的用途更加明确。在调用函数的时候也,如果每个参数目的清晰,就无需指定外部参数
如果本地参数名已经使用了合适的名字,那么可以使用#代替外部形参,表示外部形参与本地形参一样。
在定义形参时,可以使用_来代替显示外部名称。
可变形参
func airMake(numbers:Double...) -> Double{

}
airMake(1,2,3,5)
函数只能有一个可变形参,并且它只能出现在参数列表的最后,以避免多个形参调用函数引发歧义。如果有默认形参,也放在默认形参之后(最末尾)
函数的形参默认是常量。试图在函数体内修改形参的值会发生一个编译时的错误。
如果需要一个变量副本。可以指定一个或者多个形参作为变量形参,从而避免在函数内部自己定义一个新的变量。变量参数给函数一个可修改的副本
eg:func fun(var string:String,count:Int)->String{
//可以修改string的值
}
对变量形参所做的改变不会比调用函数更持久,并且在函数体外是不可见的。变量形参仅仅存在于函数调用的生命周期中
In-Out形参
变量形参只能在函数体内改变。如果你想让函数改变形参值,并且想要在函数调用结束后保持形参值的改变,那就可以把形参定义成In-Out形参
关键字inout
In-Out形参有一个传递至函数的值,由函数修改,并且从函数返回替换原值。
只能传递一个变量作为in-out形参对应的实参。把变量作为实参传递给in out形参时,需要直接在变量前添加&符号,表明它可以被函数修改
提示:in-out参数不能有默认值,参数被inout修饰就不能再被var 或let修饰
eg:func swap(inout a:Int){}
var someInt = 1
swap(&someInt)
函数的类型
函数的参数类型->函数的返回类型
()->()//无参无返回值
使用函数类型
eg:var funVariable :(Int,Int)->Int =  addTwoInts
函数类型跟其他类型一样使用
函数的类型可以作为其他函数的形参类型
eg:func swap(inout a:(Int,Int)->Int){}
函数的类型可以作为其他函数的返回类型
eg:func swap(inout a:Int)->(Int)->Int{}
嵌套函数
函数里面再声明并调用函数,嵌套函数可以使用被嵌套函数中的变量常量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值