《Kotlin核心编程》 ——2.6 本章小结

举报
华章计算机 发表于 2020/02/21 22:12:18 2020/02/21
【摘要】 本节书摘来自华章计算机《Kotlin核心编程》 —— 书中第2章,第2.6节,作者是水滴技术团队 。

2.6 本章小结

(1)类型推导

Kotlin拥有比Java更加强大的类型推导功能,这避免了静态类型语言在编码时需要书写大量类型的弊端。但它不是万能的,在使用代码块函数体时,必须显式声明返回值类型。此外,一些复杂情况如递归,返回值类型声明也不能省略。

(2)变量声明

我们通过val和var在Kotlin中声明变量,以及一些类的成员属性,代表它们的引用可变性。在函数式开发中,我们优先推荐使用val和不可变对象来减少代码中的副作用,提升程序的可靠性和可组合性。在一些个别情况下,尤其是强调性能的代码中,用var定义局部变量会更加适合。

(3)函数声明

在Kotlin中,一个普通的函数可分为代码块体和表达式体,前者类似于Java中我们定义函数的习惯,后者因为是一个表达式,所以可以省略return关键字。

(4)高阶函数

因为拥抱函数式的设计,在Kotlin中函数是头等公民,这不仅可以让我们在程序中到处定义函数,同时也意味着函数可以作为值进行传递,以及作为另一个函数的返回值。在函数作为参数的时候,我们需要使用函数引用表达式来进行传值。柯里化是函数作为返回值的一种应用,然而在Kotlin中,由于特殊语法糖的存在,我们很少会使用柯里化技术。

(5)Lambda表达式

Lambda是Kotlin中非常重要的语法特性,我们可以把它当作另一种匿名函数。Lambda简洁的语法以及Kotlin语言深度的支持,使得它在我们用Kotlin编程时得到极大程度的应用。

(6)表达式和流程控制

表达式在Kotlin中有着相当重要的地位,这与表达式本身相较于普通语句所带来的优势有关。与后者相比,表达式显得更加安全,更有利于组合,且拥有更强的表达能力。在Kotlin中,流程控制不像Java是清一色的普通语句,利用if、when、try、range、中缀等表达式我们能够写出更加强大的代码。与此同时,Kotlin中的for语句也要更加精简。

(7)字符串操作

Kotlin的字符串跟Java一样,定义的都是不可变对象。除了提供更多丰富的字符串API之外,Kotlin还支持原生字符串、字符串模板这些Java当前并没有支持的特性。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。