【问题标题】:Is kotlin both functional and procedural?kotlin 既是功能性的又是程序性的?
【发布时间】:2017-10-20 12:47:43
【问题描述】:

除了面向对象之外,它还能支持过程式和函数式编程风格吗?

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

感谢您花时间阅读/回答这个问题,如果我是编程世界的初学者,如果我听起来很菜鸟,我很抱歉!

【问题讨论】:

标签: android kotlin kotlin-android-extensions kotlin-extension


【解决方案1】:

来自Kotlin FAQ

Kotlin 是面向对象语言还是函数式语言?

Kotlin 既有面向对象的结构,也有函数式的结构。您可以在 OO 和 FP 样式中使用它,或者将两者的元素混合使用。 Kotlin 对高阶函数、函数类型和 lambda 等特性提供一流的支持,如果您正在进行或探索函数式编程,它是一个不错的选择。

【讨论】:

  • 感谢您的回复。还有任何想法如何实现程序编程?
  • 我不确定我是否了解您想要达到的目标。有关 Kotlin 语言功能的概述,请参阅语言参考。程序风格的典型特征是top-level-declarations
  • 实际上我正在尝试实现过程、功能和面向对象的范例
【解决方案2】:

我不得不同意这个问题有点令人困惑。这是我在 Android 中学习 Kotlin 时看到的:

  • 绝大多数动作似乎是由侦听器触发的

  • 侦听器(通常)包含在类中,并且大多数事情都是使用类 (OOP) 完成的

  • 有很多函数不包含在类中,它们被频繁调用(过程)

  • 不喜欢使用给定函数或类范围之外的变量,试图保持对函数方法的真实性

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

【讨论】:

    【解决方案3】:
    1. 您可以用 Java(OO、Proc)做的大多数事情都可以用 Kotlin 来实现。

    2. Kotlin 支持高阶、Lambda 和闭包,因此虽然它可能不被视为严格意义上的函数式语言,但您可以使用许多函数式概念来完成编码。请参阅 Kotlin 文档中的高阶函数 (https://kotlinlang.org/docs/reference/lambdas.html) 和 Lambda。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多