swift基础知识之:函数和闭包1 2017-03-10

swift 和 php javascrit的函数 稍微有些不同。今天我们来总结下swift函数中的几点小细节。

【1】函数的定义

func funcName(paramName:type,...) -> returnType

和 php javascript里面最大的不同就是 swift的函数 包含函数返回值的类型。

我们可以在playground里面看看效果:

对于调用函数的时候,函数的所有参数都必须以命名的方式来指定。

这点和php javascript有很大的不同


【2】可变参数

也就是可以传递给函数若干个同一类型的参数,具体多少个未知。

func funcName(paramNames:paramType...) ->returnType{

}

不过 函数的可选参数值能有一个


【3】swift的函数是一级对象 可以把函数赋值给常量

也可以将函数作为参数传递给另外一个函数

或者从一个函数可以返回另外一个函数

这些特性 和php javascript 有非常大的不同。下面我们来演示下


把函数赋值给常量


这里2个函数的功能是分别 计算加上运费后的订单总金额和减掉折扣卡金额后的订单总金额。

在swift里面,函数的参数可以是元组。

我们定义订单的时候就是一个元组数据。

包含了订单单号和订单总金额

//参数order是一个元组
order:(Order_sn:String,amount:Double)

函数也可以返还一个元组

//返还的也是元组
return (order.order_sn,orderAmount)

把函数赋值给常量后,再传递参数的时候 就不需要指定参数了。

//把函数赋值给常量
let getOrderByShipping = getOrderShippingAmount;
//传递参数的时候 不需要指定参数
let amount1 = getOrderByShipping(20,order1)

//直接调用函数的时候,需要指定参数
getOrderShippingAmount(shippingFee:20, order: order1)

今天就总结这么多,下次的文章接着总结函数和闭包

本文章为 LaraMall官网原创 转载请注明出处。谢谢合作!

扫描二维码,关注LaraMall系统