• 夜月
    2022-01-18
    函数式编程更多的是带来方便: 1. 更少地声明临时变量 2.使用库或者标准api更方便 但是我个人觉得,引入大量库后,全局作用域的扩展函数过多时,也会导致ide的函数选择提示过长,容易出错。

    作者回复: 嗯,总结的挺好。所以,要注意控制全局作用域的扩展数量。

    
    5
  • 阿辛
    2022-02-19
    感觉比慕课的讲得好. 慕课的kotlin讲的比较难

    作者回复: 感谢你的认可,我们一起加油~

    
    3
  • better
    2022-01-15
    个人感觉,在使用 kt 函数式方法的时候,最好看一下此方法的实现,否则就容易造成时间复杂度更高,比如:在不知不觉中 for 嵌套了(我还在展示,你看代码多简洁哈),这也是一个性能方面的问题吧

    作者回复: 嗯,没错。

    
    3
  • PoPlus
    2022-01-20
    想了解不变性无状态等特点更适合并发编程的原因~

    作者回复: 简单解释: 多线程同步问题,往往都是由于“共享可变状态”导致的。如果拥有“不变性”的话,是不是就少了些麻烦呢?并发里面,最麻烦的就是同步问题,解决了同步问题后,并发就没那么可怕了。

    
    1
  • 7Promise
    2022-01-14
    函数式编程在我理解中和函数单一功能原则有关系,将各个功能分解成尽量少代码的函数,运用在各个可能存在的地方。再加上巧妙运用kotlin自带或者自己编写的高级函数以及拓展函数。

    作者回复: 赞~

    
    1
  • Durian_
    2022-05-27
    我有点不太理解这句话: 无副作用的函数,它具有引用透明的特性。 这个透明是什么意思呢?

    作者回复: 这个概念三言两语还真解释不清楚,你可以留意我的博客吧,我会在我的博客里延伸讲讲Kotlin函数式编程。

    
    
  • vox
    2022-04-25
    请问既然函数式和命令式各有优劣,那么在Android日常开发中哪些场景中建议使用函数式的写法呢?

    作者回复: 比如:频繁的集合操作时。

    共 2 条评论
    
  • better
    2022-01-28
    有些地方,比如 list 类型的类成员,如使用函数式,比如:filter 某些,形成新的 list,确实可以避免并发编程的状态问题,但是,每次都fitler成本也是很大的,此时需要取舍了:是弄一个新的成员变量记录 filter 后的 list,还是直接函数式过滤(如果 list 很大,filter 函数式函数经常调用,性能问题,就需要考虑了)

    作者回复: 是的,对于数据量较大的情况,直接使用集合操作符是可能引起性能问题的。不过Kotlin在这方面也做了一些补充,比如使用Sequence或者是Flow。

    共 2 条评论
    
  • 小猪佩琪007
    2022-01-18
    醍醐灌顶,拨云见日

    作者回复: 加油~

    
    
  • 杨浩
    2022-01-16
    才接触kotlin,个人理解如果是Android,kotlin就是生产力值得深耕,绝大多数情况kotlin即可,少数需要高性能的用java。 我的理解如果是用在服务端,kotlin适合高并发、IO类的应用,不适合计算型。

    作者回复: 不错的见解。Android领域如果追求极致的性能的话,会用C++的,所以Java的地位反而比较尴尬。服务端的话,差不多也是这样,只是说Java在服务端的护城河更深一些。

    
    