zoukankan      html  css  js  c++  java
  • swift 之嵌套的理解 func chooseStepFunction(backwards: Bool) -> (Int) -> Int

    http://blog.csdn.net/lzx_322/article/details/28861199

    swift 函数使用前面需要添加 func 有返回值需要使用-> 后面添加返回类型 ,很容易理解,在看英文版的pdf文档时候看到嵌套函数的返回值,刚开始没有太明白,仔细思考了一会还是很容易理解的:

    例如:func stepBackward(input: Int) -> Int {
    return input - 1
    }

    返回值是int型的。

    func chooseStepFunction(backwards: Bool) -> (Int) -> Int {
    func stepForward(input: Int) -> Int { return input + 1 }
    func stepBackward(input: Int) -> Int { return input - 1 }
    return backwards ? stepBackward : stepForward
    }

    这里的  chooseStepFunction 返回值类型是(Int) -> Int,看函数中的return 是函数 stepBackward or stepForward,这两个函数的类型正是(Int) -> Int。最终返回的数值是还是int型。

    再例如:

    func testFunction(a:int,b:int)->(int,int)->int{

    func getFunction(a:int,b:int)->int{

    return a-b

    }

    return getFunction

    }

    外面的函数返回的是(int,int)->int,恰好返回是嵌套里面面的函数,此函数最终返回的是嵌套里面函数的返回值。这是我对嵌套返回的理解,表述不是很清晰,希望对大家有所帮助,不足之处欢迎指出。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    hadoop 2.7 添加或删除datanode节点
    hadoop HA集群的安装
    Linux-PAM认证
    [Notice]博客地址转移 vitostack.com
    WPF 自定义 MessageBox (相对完善版 v1.0.0.6)
    python2.7 倒计时
    Hadoop Streaming框架使用(二)
    Hadoop错误码速查
    Hadoop Streaming框架使用(一)
    python清空列表的方法
  • 原文地址:https://www.cnblogs.com/xuejinhui/p/4618152.html
Copyright © 2011-2022 走看看