Kotlin设计哲学
- 目标:更好的Java
- 编程方式:面向对象命令式编程+函数式编程(Scala有包括宏)
- 一些改良:单例模式,data数据类,NPE,可变性,更多的语法糖,类型推导
Kotlin基础语法
类型声明
- 类型声明:类型名放在后面
- 方法返回值类型,是否需要显示类型声明:表达式函数体(单行表达式与等号),代码块函数体。
- 方法返回值类型,需要进行显示类型声明的情况:a、是函数的参数;b、是非表达式定义的函数,返回Unit时可不需显示声明;c、是一个递归的函数;d、公有方法的返回值时,建议显示声明,为了更好的代码可读性及输出类型的可控性。
var和val
- var:varible(变量)
- val:varible+final 或者value(值),声明的变量是只读变量,引用不可改变,但引用的对象可以改变。
- Kotlin开发原则:优先使用val来声明变量。尽可能采用val、不可变对象及纯函数来设计程序。纯函数:就是没有副作用(就是修改了某处的某些东西)的函数,具备引用透明性。
- 使用val声明变量的优势:a、这是一种防御性的编码思维模式,更加安全和可靠,因为变量的值不会被修改(反射技术除外);b、不可变的变量使得程序更容易推理,越是复杂的业务逻辑,优势越大。
- 使用var声明变量的优势:a、相比其他实现方式,var有更好的性能,占用内存更少,可以让程序显得直接、易于理解;b、针对于数据结构,可能需要存储大量数据,var更合适。
高阶函数和Lambda
函数式语言:函数是头等公民。a、可以在顶层直接定义一个函数;b、可以在函数内部定义一个局部函数;c、可以直接将函数像普通变量一样传递给另一个函数;d、在其他函数内被返回。
更新中。。。
|