kotlin 语法糖?

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

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

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

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

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

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

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

kotlin 语法糖?_第1张图片

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

kotlin呢?

kotlin 语法糖?_第2张图片

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

场景二:Java Builder模式

kotlin 语法糖?_第3张图片

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

kotlin呢?

kotlin 语法糖?_第4张图片

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

场景三:Java CallBack接口

kotlin 语法糖?_第5张图片

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

kotlin呢?

kotlin 语法糖?_第6张图片

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

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

kotlin 语法糖?_第7张图片

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

kotlin呢?

kotlin 语法糖?_第8张图片

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

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

kotlin 语法糖?_第9张图片

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

kotlin呢?

kotlin 语法糖?_第10张图片

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


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

你可能感兴趣的:(kotlin 语法糖?)