kotlin 语法糖?

进击的杰爷 · · 192 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

唯品会那会,技术分享,正愁主题。刷圈看到老大分享的技术文章,关于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 语法糖?

192 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet