zoukankan      html  css  js  c++  java
  • 为什么使用kotlin可以节省开发时间

    前言:.kotlin是一门语言,光靠一篇文章要入门不太现实,所以这篇文章重点讲的是kotlin相对于java的一些特性和这些特性带来的好处.

    一、简单介绍

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源,idea也是这个公司开发的。

    Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行,kotlin可直接在idea里面转为java。

    在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    二、优点(重点)

    用java用得好好的,为什么要用kotlin呢?这里只讲关键的几个点,还有其他特性有兴趣的话可以去深入了解。

    1、简洁性

    其实为什么要强调简洁性呢,因为代码量越少,bug出现的概率就越低。如果一个方法需要大量的代码去实现,后面看的人也不好理解和维护。

    1.1、变量

    变量通过var关键字定义,常量通过val关键字定义.既支持类型推倒也支持显示声明类型,大多数情况下都是用类型自动推倒。

    var intVar // 通过取值可以自动推倒出变量的类型

    var stringVar: String "abc" // 也可以显式声明变量类型

    val INT_VALUE // 使用val关键字定义常量

    1.2、数据类

    数据类是kotlin一个可明显看出减少代码量的特性。

    // 数据类,除了有name和age两个成员变量之外还自动生成了equals,hashCode,toString等方法

    data class Person(var name: String, var age: Int)

    只需要这一行代码,就相当于java中一个实体类。

    1.3、集合

    不可变list

    val list = listOf("a","b","c")

    可变list

    val list = mutableListOf("a","b","c")

    其他集合也同理,而java要实现相同的功能需要new,再逐一set进去。

    1.4、字符串拼接

    val info = "name:$name,age:$age"

    直接在变量前加$

    1.5、lambda

    kotlin中的lambda语法再加上高阶函数的使用,可把原来几十行代码精简为几行代码,但初学时会难以理解。

    fun getNumResult(result: (Int, Int) -> Int): Int {

    return result(1,2)

    }

    var value = getNumResult{ a, b -> a * b }

    上面代码就相当于一个实现了乘法的方法。

    val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

    list.filter { it%2==0 } // 过滤掉奇数

    .map{ it*it } // 平方

    .sortedDescending() // 降序排序

    .take(3) // 取前 3 个

    .forEach { println(it) } // 遍历, 打印

    2、安全性

    java中虽然有@Nullable @NotNull等注解。但是不会在编译期起作用,而是在运行期抛出异常。kotlin在声明变量的时候,可以指定变量是否为空,调用可为空对象时,需要进行空判断。

    var mNullable: Any? = null 可空

    var mNonNull: Any = XXX 非空

    3、无缝衔接java

    当然,一个语言就算做的再好,但是没有一个健全的生态的话是很难被大众接受的.kotlin能够火起来,甚至被谷歌爸爸钦定为安卓的官方推荐语言.一个很重要的原因就是它可以无缝与java相互调用.以前写的java代码不用任何处理就能直接在kotlin中使用,而java也能无缝调用kotlin代码.

    实际上在安卓中,编译的时候kotlin代码就会被编译成java代码,所以它们其实是等价的.

    三、缺点与总结

    1、静态代码分析工具的缺乏和成熟设计模式的缺乏

    2、成熟的工具类较少

    3、学习成本较高,特别是高阶函数

    4、接口没有重载

    总结:使用kotlin写某个比较少人需要维护的服务还是挺不错的,为什么强调比较少人需要维护.因为学习一门新语言需要学习成本,不能要求每个人都懂,但是用kotlin来写确实是可以减少开发时间,虽然原生的kotlin工具类少,但可以调用java的工具类,所以实际用起来还是不错的。

  • 相关阅读:
    导入excel表格的数据--->到mysql中
    git 恢复丢失的文件-- 不提交入口文件
    putty 中使用git
    mysql 登录中用户管理
    putty 窗口管理
    navicat导出表结构-->导入powerdesigner
    mysql导出数据表结构,必须退出mysql命令.重新使用msyqldump命令
    服务器上死活不执行新增的代码-----你需要清除程序缓存了
    把json数据 [ { } ] 转为数组
    从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/iceggboom/p/12143776.html
Copyright © 2011-2022 走看看