Swift基础 函数

在Swift中,方法的返回值比较多样化,可以是自定义类型,也可以是元组,甚至是返回一个方法(没听错)。

多样返回值

返回基本类型

func getValue() -> Int {
    return 1
}

返回元组

func getPoint() -> (Int, Int) {
    return (x: 1, y: 2)
}

返回方法

func min(x: Int, y: Int) -> Int {
    if x > y {
        return y;
    }
    return x;
}
func getMin() -> (Int, Int) -> Int {
    return min
}

输入输出参数

用inout声明输入输出参数

func change(x: inout Int, y: inout Int) {
    let temp = x
    x = y
    y = temp
}

如果没有inout的话,外部的x和y值是不会变的。在change方法中,用inout声明了x和y参数,外部传进来的是x和y的地址,所以方法里面做操作的话,外面的值是会改变的。有点类似于指针。

外部使用方式

var x = 1
var y = 2
change(&x, &y)

函数可以作为变量或者常量的类型

在Swift中,函数像元组一样,可以当做一种类型

let minFunc: (Int, Int) -> Int = min
let minValue = minFunc(5, 6)

很有趣吧!!

嵌套函数

Swift允许方法中定义方法

func choose(backward: Bool) -> (Int) -> Int {
    func stepForeward(input: Int) -> Int {
        return input + 1
    }
    func stepBackward(input: Int) -> Int {
        return input - 1
    }
    return backward ? stepForeward : stepBackward
}
var value = 4
while value > 0 {
    let chooseFun = choose(backward: value < 0)
    value = chooseFun(value)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值