zoukankan      html  css  js  c++  java
  • iOS 开发之函数式编程思想(Functional Programming)

      函数式编程(Functional Programming),

      函数式编程强调的函数:1、不依赖外部状态;2、不改变外部状态。

      函数式编程可解决线程安全问题,每一个函数都是线程安全的。

      时间状态:变量一旦有了状态,它就有可能随着时间而发生变化,时间是最不可预知的因素。

      空间状态:如果把一个线程看成一个独立的空间,在程序的世界当中,空间会产生交叉重叠。一个变量如果可以被两个线程同时访问,它的值如果可以在两个空间发生变化,这个变量同样变得很危险

      高阶函数:参数为函数或返回值为函数的函数;

      实现一个计算器:

    #import <Foundation/Foundation.h>
    
    @interface SumManager : NSObject
    
    @property (nonatomic, assign) int result;
    
    - (instancetype)manger:(int(^)(int result))sumBlock;
    
    @end
    
    
    
    @implementation SumManager
    
    - (instancetype)manger:(int (^)(int))sumBlock {
        _result = sumBlock(_result);
        return self;
    }
    
    @end

      

    SumManager *mgr = [[SumManager alloc] init];
        int result1 = [mgr manger:^int(int result) {
            result += 10;
            result *= 3;
            return result;
        }].result;
        NSLog(@"结果:%d",result1);

     

  • 相关阅读:
    -for循环案例(下)
    for循环案例(上)
    for循环
    判断语句案例
    判断语句
    操作符优先级
    windows 下安装图片标注软件 labelling和出错解决
    tf-faster rcnn
    目标检测——Faster R-CNN 详解、Pytorch搭建、训练自己的数据集
    java idea 配置安装
  • 原文地址:https://www.cnblogs.com/ZachRobin/p/9803659.html
Copyright © 2011-2022 走看看