美文网首页
kotlin 语法糖?

kotlin 语法糖?

作者: 进击的杰爷 | 来源:发表于2017-09-30 00:43 被阅读0次

    唯品会那会,技术分享,正愁主题。刷圈看到老大分享的技术文章,关于kotlin的。猎奇之后,哎哟,挺好玩的。

    庞然大物的转身往往缓而稳,所以,只是玩玩而已,一阵子过后,早已九霄云外。

    三月,CTO面试问,对新技术有什么涉猎的。答kotlin。

    五月,Google IO宣布kotlin 成为Android平台一级编程语言。

    如今,从模块kotlin化到统一采用kotlin开发新项目,已经有三个项目了。算是有了一些实践。

    诚然如大家说的,都是一些语法糖。但码码的速度实实在在的提升了。而且更重要的是,重新觉得码码是挺好玩的。

    场景一:Java定义并初始化控件。

    应该算是常见的写法。然而,一旦控件数量增多,会有各种 init(),懒起来时,全扔在 initViews()里。即使用上butterknife等注解。也避免不了因控件数量增多导致的初始化方法增多或者堆代码现象。

    kotlin呢?

    其实没什么区别。但会发现,不会有各种 init() 方法的出现或者往 initViews() 堆代码的现象。甚至提供的完整的理解 - smoothRefreshLayout 这个控件支持 上拉刷新&下拉加载更多。 或者说kotlin是完整的定义。而Java是不完整的,先定义,再设置,引用时最好还要判空,还不是懒加载。

    场景二:Java Builder模式

    代码不太规范,但也足以说明问题。Builder模式某种意义上说,就是通过链式调用组合各种属性。规范的Builder模式的代码量远不止如此。

    kotlin呢?

    apply{} 让 builder 模式没有存在的意义。也就不需要 return this 了。

    场景三:Java CallBack接口

    想回调下?走接口。简单的CallBack例子,便要如此大费周章。曾经多少个夜晚,默默码了一遍遍回调。

    kotlin呢?

    没错。就这样,将方法当参数传入直接调用。如此简单明了,不仅仅是语法糖的味道而已。实际应用没这么简单,比如接口里有各种回调方法。但方法作为参数对于Javaer 来说,简直是历史壮举了。

    场景四:Java 嵌套类属性的调用(各种判空)

    例子其实不极端,而是很频繁的现象。为了避免空指针,只能一层层的进行判空操作。

    kotlin呢?

    最后一句,酷炫得无话可说有没有?  港真,自从用上了kotlin,已经很少写 if (xxx != null) 这行代码了。

    场景五:Java 多参数方法重载

    常见现象之一,一个参数齐全的方法,通过重载与默认值,实现几个不同入参的方法。一个事儿,啰哩啰嗦一大堆,却又无法避免。还不清晰。想看真正的实现方法,时常需要通过 ctrl + click 不停的跟踪下去。

    kotlin呢?

    怎么也算是超过语法糖的范围了吧。简单明了,以不变应万变。一个字,老铁,稳。

    夜已深,有点困。今晚就到这先

    相关文章

      网友评论

          本文标题:kotlin 语法糖?

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