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);

     

  • 相关阅读:
    js精度丢失问题处理
    button居中
    js存储 cookie,localStorage,sessionStorage的比较
    js 常用的DOM,BOM操作
    js事件代理理解
    oneplus前端开发面试
    instanceof
    js原型和原型链
    js构造函数
    NC 6.X笔记(编辑中)
  • 原文地址:https://www.cnblogs.com/ZachRobin/p/9803659.html
Copyright © 2011-2022 走看看