kotlin是function性的还是程序性的?

除了面向对象之外,它可以支持程序和函数式编程风格吗?

我想开发一个使用Android Studio的Android应用程序,这样我就可以探索kotlin提供的各种编程风格,这将真正帮助我探索这种新的语言。

感谢您抽出宝贵的时间阅读/回答这个问题,对不起,如果我听起来noob,因为我是一个编程世界的初学者!

来自Kotlin常见问题解答 :

Kotlin是面向对象语言还是function性语言?

Kotlin既有面向对象又有function性的构造。 您可以在OO和FP样式中使用它,也可以混合使用这两种元素。 通过对诸如高阶函数,函数types和lambdaexpression式等function的一流支持,如果您在进行或探索函数式编程,Kotlin是一个不错的选择。

我必须同意这个问题有点混乱。 这就是我在Android上学习Kotlin时所看到的:

  • 绝大多数行动似乎是由听众触发的

  • 监听器(通常)包含在类中,大部分事情都是使用类(OOP)完成的,

  • 有很多不包含在类中的函数,并且经常被调用(程序)

  • 对使用超出给定函数或类的范围的variables存在反感,试图保持对函数方法的正确性

除此之外,我不确定你在问什么。

  1. Java(OO,Proc)所能做的大部分事情都可以通过Kotlin来实现。

  2. Kotlin支持High-Order,Lambdas和Closures,所以虽然它可能不被认为是严格意义上的function语言,但是可以使用很多function概念来完成编码。 请参阅Kotlin文档中的高阶函数( https://kotlinlang.org/docs/reference/lambdas.html )和Lambdas。