Kotlin,Who are you?

作者: 程序员丶星霖 | 来源:发表于2019-06-04 10:25 被阅读6次

    一、什么是Kotlin?

    Kotlin,是JetBrains开发团队开发的基于JVM的静态型别编程语言,也可以被被编译为JavaScript源代码。

    Kotlin是JetBrains在2011年推出的一门全新的编程语言,这门语言最早被设计成运行在JVM上——使用Kotlin编写的程序会被编译成字节码文件,该字节码文件可直接在JVM上运行。

    Kotlin可以与现有的Java语言包保持完全兼容,而且Kotlin代码比Java代码更简洁。**Kotlin增加了扩展、对象表达式、对象声明、委托等**Java原本不支持的功能。

    虽然Kotlin提供了简洁的语法,但Kotlin的功能并不简单,Kotlin不是为了更简单而设计的,而是为了更强大而设计的。

    Kotlin既支持函数式编程方式,也支持面向对象编程方式。

    Kotlin的优势有如下几点:

    1. 简洁性:Kotlin具有大量现代编程语言的简洁性和便捷性,因此Kotlin被誉为Android平台的Swift。
    2. 兼容性:Kotlin完全兼容Java。可以自由使用Java领域的无数框架和库。
    3. 迁移性:Kotlin支持大型项目从Java向Kotlin逐步迁移

    二、Kotlin与Java之间的关系

    Kotlin没有完全取代Java语言的野心,它用一种巧妙的方式利用JVM平台上丰富的类库迅速发展。

    一方面,它是一种新兴的现代编程语言;另一方面,他又与Java有完善的互操作性,完善到可以直接在Kotlin代码中随意插入Java语句,也可以在Java代码中调用Kotlin语言写成的函数和类库。

    相比Java 7 的优势如下所示:

    • 相比Java,Kotlin增加了许多特性,比如Java 8 之前没有的Lambda表达式、when表达式、扩展函数、高阶函数等;
    • 相比Java,Kotlin去除了一些特性,比如final关键字、静态变量、静态方法、空指针异常等;
    • 相比Java,Kotlin封装了许多过程和表示方法。

    三、Kotlin用于JavaScript

    Kotlin程序还可以编译成遵守ECMAScript规范的JavaScript代码。

    Kotlin既可以生成前端使用的JavaScript代码,也可以生成后端使用的JavaScript代码。

    Kotlin可实现如下功能:

    1. Kotlin提供了大量API来操作DOM(文件对象模型),允许通过DOM API来动态创建和更新页面。
    2. Kotlin也提供了支持WebGL的API,可以在网页上用WebGL创建图形元素。
    3. Kotlin也可使用现有的前短裤和框架,如jQuery和ReactJS等。

    四、Kotlin的特点

    总结一下Kotlin语言的特点如下:

    1. 从Kotlin开始学习函数式编程:在Java8 的Stream API之前,Kotlin就已经走上函数式编程的路了,通过函数式编程,代码将会变得简洁而有效。
    2. 只写简介的代码:Kotlin封装了Java里那些冗长而易错的代码,用一个又一个语法糖压缩代码。
    3. 清楚地声明每一个要素
    • 在Kotlin里,只有声明为open的类才能被继承,只有声明为open的方法才能被重写,子类重写父类方法时,必须加上override关键字;
    • 声明变量时,用var声明的变量是“可变的量”;声明为val的变量则相当于Java中用final修饰的常量。

    五、Hello Kotlin

    学一门编程语言的开始就来问个好吧:

    fun main(args: Array<String>) {
        println("Hello Kotlin")
    }
    

    根据上面的代码,可以看看Kotlin与Java声明main函数的方式的不同之处:

    1. Kotlin使用fun关键字声明函数,Java通过方法名后的括号表明这是一个方法;
    2. Kotlin允许创建包级函数,函数不一定在类里面,Java要求所有方法必须包括在类里;
    3. Kotlin中所有变量、函数和类默认都是public的,Java需要用public关键字声明;
    4. Kotlin抛弃了静态变量和静态方法,没有static关键字,Java则用static关键字声明静态成员;
    5. Kotlin中声明一个函数没有返回值使用Unit关键字,但是一般省略,Java则用void关键字声明无返回值;
    6. Kotlin声明函数参数列表采用“变量名:变量类型”的方式,Java采用“变量类型 变量名”的形式;
    7. Kotlin抛弃了类C语言声明数组的方式,使用“Array<T>”的方式声明数组,Java则采用类C语言的“T[]”方式声明数组;
    8. Kotlin语句结尾一般不使用分号;结尾,Java则必须用分号;结尾。
    9. Kotlin的print()函数是对Java中System.out.println()方法的封装。

    学海无涯苦作舟

    我的微信公众号.jpg

    相关文章

      网友评论

        本文标题:Kotlin,Who are you?

        本文链接:https://www.haomeiwen.com/subject/opflxctx.html