swift3 函数方法

定义函数:

形式:func 函数名(参数名1:类型, 参数名2:类型, …) -> 返回结果的类型 {执行语句}
调用:var 变量名称 = 函数名(变量1, 变量2, …)

1.有参数有返回值

func add(x: Int, y: Int) -> Int {
    return x + y
}
var z = add(x: 3, y: 4) //7

//可以给某个参数以默认值
func add2(x :Int, increment : Int = 2) -> Int {
    return x + increment
}
add2(x: 3)  //5
add2(x: 3, increment: 3)    //6

2.无参数无返回值

无参数无返回值 :一般用于执行一系列操作,不需要结果.

func welcome() {
    print("欢迎")
    print("学习")
}

welcome()

3.多返回值(使用元组)

func maxMin() -> (Int, Int) {
    let Range1 = Range(1..<8);
    return (Range1.lowerBound, Range1.upperBound)
}

maxMin()    //(.0 1, .1 8)
maxMin().0  //1
maxMin().1  //8

4.参数类型为函数类型

函数类型:包含参数和返回类型的简写形式,可以像普通变量那样使用,一般用于函数式编程.
例如:(Int,Int) -> Int

func calculate(x: Int, y: Int, method: (Int,Int)->Int ) -> Int {
    return method(x, y)
}

func add(x: Int, y: Int) -> Int {
    return x + y
}

func multiply(x: Int, y: Int) -> Int {
    return x * y
}

calculate(x: 3, y: 4, method: add)  //7
calculate(x: 5, y: 6, method: multiply) //30

5.参数为可变类型

默认情况下方法的参数是let值,也就是不可改变的。
不过我们可以在参数类型前使用inout关键字改变其不变性,并且在调用方法传递实参时也要加上地址符&。

func test( i:inout Int){
    i += 1
    print(i)
}

var x = 10
test(i: &x) //11
print(x)    //"11\n"

参考自
SwiftV课堂视频源码
http://blog.csdn.net/mydo/article/details/51818387

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值