zoukankan      html  css  js  c++  java
  • 函数类型

    /*

     函数类型:

     类似于C语言的指向函数的指针

     类似于OC语言的block

     函数类型是由函数的参数类型和返回值类型组成的

     */

    // 这两个函数类型为: (Int, Int) -> Int

    func sum(a: Int, b: Int) -> Int

    {

        return a + b

    }

    func sub(a: Int, b: Int) -> Int

    {

        return a - b

    }

    // 可以利用函数类型定义函数变量和常量

    var funcP:(Int, Int) -> Int = sum

    //funcP = sub  // 赋与同一类型都可以

    print(funcP(10,20))

    // 函数类型可以作为函数的参数

    func calFunc(a: Int, b: Int, Option:(Int, Int) -> Int) -> Int

    {

        return Option(a, b)

    }

    print(calFunc(a: 10, b: 20, Option: sum))

    print(calFunc(a: 10, b: 20, Option: sub))

    // 函数类型可以作为返回值

    func max(a: Int, b: Int) -> Int

    {

        return a > b ? a : b

    }

    func min(a: Int, b: Int) -> Int

    {

        return a > b ? b : a

    }

    func chooseFunc(getMax:Bool) -> (Int, Int) -> Int

    {

        return getMax ? max : min

    }

    var funcP2:(Int, Int) -> Int = chooseFunc(getMax: true)

    print(funcP2(10, 20))

  • 相关阅读:
    前端-----盒子模型
    跨域
    DRF的分页
    DRF的权限和频率
    DRF 版本和认证
    DRF的视图和路由
    APIView和View的区别
    Serializers序列化组件
    RESTful
    Vuex以及axios
  • 原文地址:https://www.cnblogs.com/lurenq/p/7364438.html
Copyright © 2011-2022 走看看