首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【读书笔记】《Kotlin in Action》学习笔记(下)

= arrayListOf() //copyDataVersion1(source, destination) //Error!...} 4、 Kotlin DSL 使用带有 object 参数的中缀函数 我只想说,“厉害了,我的 Kotlin 哥”!...Kotlin DSL 真的很好用,像大名鼎鼎的 anko 库,使用 DSL 实现 Android Layout 非常给力啊,还有 SQL 数据库操作,另外用过一段时间的 TornadoFX ,用 DSL...看下面一句话,还是来自教材: "kotlin" should start with "kot" Sorry ,说错了,不是一句话,是一段代码!,这段代码没啥稀奇的了,不就是中缀函数拼凑起来吗?...: 使用 inline 属性 ,你没看错,这是额外加的一个新姿势,并不是从《 Kotlin in Action 》书中学到的,看到了我就马上记下来了,写到一起作为学习笔记吧。

66430
您找到你想要的搜索结果了吗?
是的
没有找到

Kotlin | 6.Kotlin 的类型系统

----------------------*/ // Kotlin和Java最重要的区别:可空类型的显式的支持。...的 void ----------------------*/ // Kotlin的Unit类型完成了Java的void一样的功能。...} } 总结 Kotlin 可空类型的支持,可以帮助我们在编译期,检测出潜在的NullPointerException错误。 Kotlin 提供了像安全调用(?.)...Java 的类型在 Kotlin 中被解释成平台类型,允许开发者把它们当作可空或非空来对待。 表示基本数字的类型( Int )看起来用起来都像普通的类,但通常会被编译成 Java 基本数据类型。...可空的基本数据类型( Int ?)对应着 Java 的装箱基本数据类型(java.lang.Integer )。 Any 类型是所有其他类型的超类型,类 Java Object 。

2.3K10

Kotlin 环境下解决属性初始化问题

猫头虎博主的技术分享 Kotlin 环境下解决属性初始化问题 摘要 在本文中,我们将探讨如何在 Kotlin 适当地处理属性的初始化问题,特别是当你面对null值和基本数据类型的组合时。...引言 有时候,我们会在编程时遇到这样的情况:一个原本应该是基本数据类型的属性(Int)被赋值为null。在这种情况下,Kotlin 如何帮助我们优雅地处理这种情况呢? 解决方案 1....: 0 // 或任何其他默认值 } 总结 Kotlin 为我们提供了多种方法来处理可能出现的null问题,从而确保我们的代码更加健壮。选择哪种方法取决于你的具体业务需求和逻辑。...参考资料 Kotlin 官方文档 - 可空类型 Kotlin 官方文档 - 属性与字段 希望你们喜欢这篇博客!如果有任何问题或建议,请在下方留言。‍ 原创声明 ======= · 原创作者: 猫头虎

8410

Kotlin 极简教程 》第5章 集合类(1)

集也有多种变体,可以实现排序等功能,TreeSet,它把对象添加到集中的操作将变为按照某种比较规则将其插入到有序的对象序列。它实现的是SortedSet接口,也就是加入了对象比较的方法。...通过集中的对象迭代,我们可以得到一个升序的对象集合。 (3)映射 映射与集或列表有明显区别,映射中每个都是成对的。...另外,我们可以直接使用Kotlin封装的arrayListOf函数来创建一个ArrayList: >>> val list4 = arrayListOf(1, 2, 3) >>> list4::class...可以理解成Map的一个键值,比如Pair(“key”,”value”) 等价于 “key” to “value”。...TreeSet : 该类实现了SortedSet接口,能够集合的对象进行排序。

2.7K20

利用kotlin实现一个饼图实例代码

前言 饼图是许多人最熟悉的图表类型,也是使用频率最高的图表类型之一,本文主要给大家介绍了关于利用kotlin实现饼图的相关内容,分享出来供大家参考学习,代码不难,所以打算用kotlin来实现,增加熟练度...因为饼图是根据角度来绘制的,我们必须将这个个数集合换算成角度集合,换算的过程我们需要知道每一种水果所占总水果的比例,然后通过这个比例去乘上360度,就知道每一种水果所占的度数。...(10f,3f,7f) /** * 饼图所占的比例 */ var scaleList = arrayListOf<Float () /** * 个数分类的总量 */ var total...(1f,10f,15f,9f,15f)) pie2.setPieData(arrayListOf(3f,8f,15f,7f,9f)) pie3.setPieData(arrayListOf(9f...总结 以上就是这篇文章的全部内容了,希望本文的内容大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家ZaLou.Cn的支持。

79210

Kotlin 机制你都了解吗?

什么是 extension(扩展)函数 ---- Kotlin 可以对一个类的属性和方法进行扩展,被扩展的类代码本身不会造成任何影响。...,怎么办呢, kotlin 给我们提供一个 init 结构体,所有构造函数的逻辑都可以写在里面: class Person(val name: String, val age: Int) : Person...intArrayOf(1, 2, 4, 6) val arr2 = intArrayOf(10, 39, 39, 18, 88) var arr3 = intArrayOf(100, 200, 383, 198) arrayListOf...首先伴生对象的代码是在类加载时就会执行。init代码块的方法会按顺序放在主构造函数,主构造函数中原来的代码会在后面执行。 9. const 和 val 有什么区别?...---- Range 是 Kotlin 相对 Java 新增的一种表达式,它表示的是值的范围,类似于数学的区间。

76030

使用 Kotlin Symbol Processing 1.0 缩短 Kotlin 构建时间

KSP 是使用 Kotlin 进行注释处理的新一代工具: 它将大幅提高 Kotlin 开发者的构建速度,而且不同于 KAPT,该工具提供了 Kotlin/Native 和 Kotlin/JS 的支持。...Kotlin 注释处理工具 (KAPT) 通过与 Java 注释处理基础架构相结合,让大部分 Java 语言注释处理器能够在 Kotlin 开箱即用。...此举大幅提升了构建速度 (对于 Room 的 Kotlin 测试应用 而言速度提高了 2 倍),同时也意味着 KSP 可以在非 Android 以及非 JVM 环境 ( Kotlin/Native 和...例如,要在 Gradle 模块中使用 KSP 版 Room,您只需将 KAPT 插件替换为 KSP 并替换 KSP 依赖: 您可以查看 Room 版本说明 以了解更多信息。...您的反馈我们非常重要,感谢您的支持!

3.7K10
领券