Skip to content
This repository has been archived by the owner on Apr 13, 2023. It is now read-only.

Latest commit

 

History

History
199 lines (149 loc) · 6.61 KB

Kotlin M1 Candidate.md

File metadata and controls

199 lines (149 loc) · 6.61 KB
title date author tags keywords categories reward reward_title reward_wechat reward_alipay source_url translator translator_url
[译]Kotlin M1 Candidate
2012-03-30 07:57:00 -0700
Andrey Breslav
官方动态
false
Have a nice Kotlin!

IntelliJ IDEA 11.1 最近发布,我们很高兴地宣布 Kotlin IDE 插件的里程碑式候选版本。这篇文章概述了上个月发生了什么。

里程碑候选人构建准备好您的评估

要安装在 IntelliJ IDEA 11.1(免费社区版本可用 这里 ),请按照说明进行操作 入门 指南。简而言之:

您可以随时从我们的夜晚下载 Kotlin 的每夜建筑物 构建服务器 或自己建立 来源 。 现在我们简要介绍一下新的和值得注意的内容。请参阅 这个博文 对于以前实现的功能。

小事情很重要

首先,我们做了很多 bug 修复,改进和其他重要的事情,很难演示。查看提交历史记录 github 和封闭的问题 YouTrack

图书馆

随着扩展功能的强大,Kotlin 使现有的 Java API 更好。特别是,我们为 JDK 集合提供增强功能,以便您可以这样说:

{% raw %}

{% endraw %}
fun main(args : Array<String>) {
    val list = arrayList(1, 2, 3)
    val odds = list.filter {it % 2 == 1}
    println(odds.join(", "))
}

{% raw %}

{% endraw %}

这里,filter()和 join()是扩展函数。 实现方面,扩展函数只是静态实用程序函数,如“好老旧”Java 的 Collecions *,但是使用“receiver.function()”调用语法,IDE 使它们更好:有**代码完成< / strong>可以帮助您浏览 API 并学习(就像扩展名是正常的类成员一样):

{% raw %}

{% endraw %}

您可以导航到库函数的源:

{% raw %}

{% endraw %}

并在那里查看doc 评论

{% raw %}

{% endraw %}

图书馆文档的 HTML 版本可用 这里

GitHub 支持

Kotlin 突出显示现在得到支持 github , 包含 要旨

注释

Kotlin 现在支持注释。这是一个依赖于 JUnit 4 的小例子:

{% raw %}

{% endraw %}
import org.junit.Test as test
import org.junit.Assert.*
 
class Tests {
    test fun simple() {
        assertEquals(42, getTheAnswer())
    }
}

{% raw %}

{% endraw %}

阅读更多 这里

字符串模板

现在可以使用多行字符串模板,例如:

{% raw %}

{% endraw %}
println("""
  First name: $first
  Last name: $last
  Age: $age
""")

{% raw %}

{% endraw %}

简单枚举

简单的例子 枚举类 现在得到支持。例如:

{% raw %}

{% endraw %}
enum class Color {
  RED
  GREEN
  BLUE
}

{% raw %}

{% endraw %}

本地功能

函数可以在其他函数中声明:

{% raw %}

{% endraw %}
fun count() : Int {
  fun count(parent : Entity) : Int {
    return 1 + parent.children.sum { count(it) }
  }
  return count(this.root)
}

{% raw %}

{% endraw %}

可空性

Kotlin 现在认识到了 @Nullable 和 @NotNull 注释 )。如果 Java 代码说:

{% raw %}

{% endraw %}
@NotNull String foo() {...}

{% raw %}

{% endraw %}

Kotlin 将 trat foo()返回一个不可为空的 String。 短手操作( !! )将可空值转换为不可空的值:

{% raw %}

{% endraw %}
val foo = getSomethingThatMayBeNull()
foo!!.bar() // throw NPE if foo is null, run bar() otherwise

{% raw %}

{% endraw %}

字节代码公布

点击 IDEA 窗口右边的 Kotlin 按钮,然后选择“Bytecode”选项卡。您将看到 Kotlin 为您的程序生成的字节码!

{% raw %}

{% endraw %}

您的反馈非常受欢迎。有一个漂亮的 Kotlin!