如何评价 Kotlin 语言?

发布网友 发布时间:2022-04-23 05:21

我来回答

1个回答

热心网友 时间:2023-06-26 21:09

只是发表一下个人经验,不喜勿喷。


null

null安全,提前声明变量是否为空,与其说是一个语法糖,而不是提前空异常处理安全概念,是为了避免很多不必要的空检查,同时迫使你做必要的null,以避免空异常。不用再担心我在调试时抛出了空的异常。

lamda

很容易封装操作,编译器自动帮你转化为单方法的接口对象,很容易就写出自己的dsl,很方便的运用函数式编程.

如我实现的Db.transaction()就可以这么用 

Db().transaction(){
  

execute("insert ...")
  

execute("update ...")
  

execute("delete ...")

 }

对象

非常简单的声明单例对象,加个ioc容器都多余

如实现单例的路由对象 

object Router:IRouter{
}

扩展

扩展原有的类是很简单的事情,不用再像java那样罗嗦,要不用代理,要不写个静态方法包含扩展对象作为参数.

如实现扩展String,添加toDate()方法 

public fun String.toDate(): Date {    

return java.text.SimpleDateFormat("yyyy-MM-dd").parse(this)

 } 

直接使用 "2017-02-02".toDate() 就直接将String转为Date

委托

一个by关键字就很容易实现类的代理,属性读写的代理

如我实现的mvc框架要扩展HttpServletRequest,直接用by就实现了代理扩展 

class Request(protected val req:HttpServletRequest /* 请求对象 */):HttpServletRequest by req{
}

总结

以上。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com