[饼干]Kotlin Trick 001-省略一些重复的工作
来源:互联网 发布:海中金seo 编辑:程序博客网 时间:2024/04/30 02:41
原文地址:http://halohoop.com/2017/06/05/cookies-kotlin-trick-001/
好的文章有时候不在于鸿篇巨制,而在于一目了然,有时候这种快餐小技巧更能帮助人,没有铺垫没有客套,直戳掌握知识的要害。所以从这篇开始会不间断的记录一些小技巧,文章已[饼干]开头的都是一篇短文。
一些重复的工作,比如说我们在性能调优的时候经常用到的Trace,以下是一个实例:
Java:
Trace.beginSection(sectionName);doSomeCalculation();Trace.endSection();
问题:
如果在每个地方都加入Trace.beginSection(sectionName)和Trace.endSection()会疯掉的,搞不好还忘记加Trace.endSection()。
When it comes to Kotlin:
inline fun trace(sectionName: String, body: () -> Unit) { Trace.beginSection(sectionName) try { body() } finally { Trace.endSection() }}//and use ittrace("foo") { doSomeCalculation()}
这样我们就可以把Trace.beginSection(sectionName)和Trace.endSection()省略了。
甚至你还可以有返回值:
inline fun <T> trace(sectionName: String, body: () -> T): T { Trace.beginSection(sectionName) try { return body() } finally { Trace.endSection() }}//and use itval result = trace("foo") { doSomeCalculation()}
总结
实际上这种方式是方法拓展,lambda带给我们的额便利,同样的技巧,相信你能应用到Trace以外更多的地方,相信你能接触到更好的用法。
阅读全文
0 0
- [饼干]Kotlin Trick 001-省略一些重复的工作
- Android的一些trick
- 一些比较trick的链表题
- Kotlin的一些问题
- 内核里面的一些有用的trick
- chromium工程中一些有用的trick
- 一些很有用很 trick 的命令
- 记录一些kotlin的用法
- 一起吃饼干的幸福
- 重复的工作
- ZZNU 1627 Card Trick的一些感悟及见解
- 关于Visual Studio属性页的一些trick
- 深度学习的一些参数说明以及trick
- 一步步学习kotlin for android(三) kotlin省略findviewById
- 研究学习Kotlin的一些方法
- Kotlin和Swift的一些异同
- 研究学习Kotlin的一些方法
- Kotlin 的一些实用小技巧
- C# StringBuilder
- 用 easyui ajax 写 http 测试客户端
- Spark-sql结果保存指定位置
- Mozilla 17年最新计划,发展健康的互联网
- sqlserver-触发器-判断更新了哪个字段。
- [饼干]Kotlin Trick 001-省略一些重复的工作
- 根据传入url请求,返回json字符串
- Rails中的sample方法
- [UOJ 130]【NOI2015】荷马史诗:哈夫曼树
- 刷清橙OJ--A1050.碱基比例
- JAVA 日期操作
- EMMA的应用
- JAVA-IO流大文件拷贝
- javascript学习——基础部分