美文网首页程序员
为什么要使用Kotlin???

为什么要使用Kotlin???

作者: 小院里栽棵树 | 来源:发表于2020-07-02 16:07 被阅读0次

    Kotlin到底是什么?


    我想在我们讨论为什么要使用kotlin之前,我们应该先了解一个概念,那就是kotlin到底是什么?kotlin是一种针对java平台的新编程语言 ,由 [JetBrains] 开发的静态编程语言,既可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行,目前已正式成为Android官方支持开发语言。

    Kotlin的优点有哪些?


    一 简洁

    和许多其他现在语言一样,Kotlin有丰富的标准库,让你用库方法调用来代替一些冗长重复的代码段,这可以帮助我们省去大量的时间去写重复代码。除去有丰富的标准库之外,就连我们日常最简单的数据类声明,以及字段的引用,Kotlin都要比java简洁很多,让我们简单的创建一个Person类来看下为什么说Kotlin要简洁很多。

    Java方式创建

    class Person {
        private String name;
        private int age;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }
    
    //字段的引用
    new Person("张三",20).getAge();
    

    Kotlin方式创建

    data class Person(var name: String, var age: Int)
    //字段的引用
    Person("张三",20).age
    

    通过代码来看,为什么说Kotlin更简洁就不言而喻了吧。当然Kotlin的简洁可不只体现在数据类的创建上,我们就不一一举例了。

    二 安全

    对于大多数开发来说,NullPointException想必都是十分熟悉,这种问题对开发来说是很容易解决的,但往往也是我们面对的最多的,线上的崩溃可以说不占到80%,70%应该也是有的,虽说好修复,但也是很头痛的,想解决但又无处下手,毕竟我们不可能在每次使用变量的时候都进行判空处理,那么,这时候你就可以尝试使用Kotlin了。

    Kotlin的空安全机制会尽最大的努力帮你从你的程序中消除NullPointException,为什么这么说呢?因为Kotlin 的类型系统会跟踪那些可以或不可以为null的值,并且禁止那些运行时可能导致NullPointException的操作,并且所带来的的额外成本是极小的,我们只需要把类型标记为可空的就可以了,eg:

    val s1: String? = null   <--可以为null
    val s2: String = ""      <--不可以为null
    

    我们来看下s1和s2调用的时候,会有什么不同呢?

     fun method(){
            println("${s1?.length}")
            println("${s2.length}")
        }
    

    通过代码我们可以看到,在使用s1的时候我们使用了安全调用运算符?.(这里我们以后会介绍)来保证我们在使用s1的时候不会NullPointException,从而避免了程序的崩溃,保证了我们代码的健壮性。

    三 静态类型

    Kotlin和Java一样是一种静态类型的编程语言。这意味着所有表达式类型在编译期就已经确定了,减少了运行时的错误,性能得以保证,但在这里,Kotlin与Java不同的是,Kotlin不需要你显式的声明每个变量的类型,在很多情况下,变量类型可以根据上下文自动判断,我们称之为类型推导,让我们来具体看下Kotlin的这种能力吧。

     val age : Int = 20
    //在这里我们完全可以使用下面的声明方式,
    //来让编译器提我们类型推导变量的具体类型,
    //而不需要我们显式的声明类型
     val age = 20
    

    就这样,Kotlin拥有了静态语言的优势,同时在声明变量的时候也无需再写冗长的显式声明的变量类型了,想想还真的是,真香

    四 与Java的互操作性

    在使用Kotlin之前,你的第一个问题可能是:“我是不是可以继续使用现有的库?” 答案那必然是:“当然可以。”无论是哪种库提供的API,你在Kotlin中都可以使用他们,可以调用Java的方法、继承Java的类、实现Java的接口、应用Java的注解,等等。而且Kotlin在最大程度上使用现有的Java库,eg:集合库,它完全依赖Java标准库的类,使用额外的函数来扩展他们,以便让我们在Kotlin中调用起来更方便,而且在运行时没有任何的额外开销!!

    总结

    • Kotlin是静态编程语言并支持类型推导,允许维护正确性和性能的同时保持代码的简洁。
    • Kotlin的空安全机制,可以很大程度的减少空指针异常,保证app的健壮性。
    • 与Java的互操作性极强,可以让我们在现有的项目中很好的使用Kotlin来慢慢过渡。

    现在你知道为什么要使用Kotlin了吗??那我们下篇文章见喽,我是小院里栽颗树

    相关文章

      网友评论

        本文标题:为什么要使用Kotlin???

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