Kotlin开发指南Kotlin开发系列Kotlin

Kotlin学习笔记资料

2017-10-20  本文已影响124人  才兄说

如下关于kotlin内容都是本人近期学习整理的kotlin资料,可以对着输入尝试。另外,需要获得完整的笔记链接,可以关注“技术微讯”并输入kotlin即可获取笔记地址。由于时间精力限制,下面分享的是笔记的一部分,kotlin系列会持续更新。
最后提供一个kotlin在线编码的地址:https://try.kotlinlang.org/#/Kotlin%20in%20Action/Chapter%202/2.1/1_HelloWorld.kt

公众号首发地址:http://mp.weixin.qq.com/s/LjMzJEjqqJzvfc1EEDTtww

kotlin函数定义:
1.在Java中,所有的控制结构都是语句,而在Kotlin中,除了for、do和do/while以外大多数控制结构都是表达式。
2.表达式和语句区别:表达式有值,并且能作为另一个表达式的一部分使用。而语句无值,并总是包含着它的代码块中的顶层元素。
3.函数体写在花括号中,则这个函数有代码块体
4.直接返回了一个表达式的,则它就有表达式体
5.对于表达式体函数,可以省略返回类型,因为编译器会分析作为函数体的表达式,并把它的类型作为函数的返回类型,这种分析称为 类型推导。但是对于有返回值的 代码块体函数,必须显示地写出返回类型和return语句。


变量声明:使用关键字val或val声明
val:不可变引用
var:可变引用

字符串模板处理:



类定义:
1.在Kotlin中,属性是头等的语言特性,完全替代了字段和访问器方法

类自定义访问器:

枚举:
1.声明枚举类时,enum是一个软关键字,只有当它出现在class前面时才有特殊的意义,在其他地方可以当做普通名称使用,而class仍然是一个关键字。
2.声明一个带属性的枚举类时需要注意:
1)当声明每个枚举常量的时候,必须提供该常量的属性值。
2)如果要在枚举类中定义任何方法,就要使用分号把枚举常量列表和方法分开。

使用 "when” 处理枚举类:
1.when是一个有返回值的表达式,因此,作为表达式函数体,它可以去掉花括号和return语句,并省略返回类型的声明。
2.when和Java中的switch语句类似,根据when中Color的值走到对应的分支,除此之外,我们可以把多个值用逗号间隔,合并到同一个分支
3.在 “when”结构中使用任意对象

类型智能转换:
1.在kotlin中,判断一个变量是否是某种类型需要使用is关键字,类似Java当中的instanceOf
2.在Java中,在检查完后,使用时还需要显式地加上类型转换。
3.在kotlin中,如果你检查过一个变量是某种类型,后面在使用的过程中,就不需要再转换它,可以把它当做你检查过的类型来使用。
4.智能转换,只在变量经过is检查且之后不再发生变化的情况下有效,当你对一个类的属性进行智能转换的时候,这个属性必须是一个val属性,而且不能有自定义的访问器,否则,每次对属性的访问是否都能返回同样的值将无从验证。
5.when,try catch代码块相关,代码块中的最后一个表达式就是结果

在Kotlin中,使用了 "区间" 替代常见的循环用法:
用法:两个值之间的间隔,这两个值通常是数字,一个起始值,一个结束值,使用..运算符来表示区间,而结束值始终是区间的一部分。

迭代map使用:(Beta)

使用 in 运算符判断值是否在区间中,反之逆运算 !in:

kotlin 中的异常:(Beta)
1.kotlin不区分受检异常和未受检异常,不必指定函数抛出的异常,而且可以处理也可以不处理异常。
2.kotlin的throws子句没有出现在代码中
3.kotlin的throw结构是一个表达式时,能作为另一个表达式的一部分使用。

扩展函数:
1.Kotlin会把扩展函数当做静态函数来对待,因此扩展函数不存在重写。
2.改变字符串内的字符,使用单引号' ',因为外层已经用了双引号。

可变参数的相关处理:
1.可变参数,使用关键字 vararg
2.参数打包成一个数组,在传入参时需要通过 * 操作符进行解包

中缀调用:
1.无论是普通的函数还是扩展函数,要允许使用中缀符号调用函数,需要使用infix修饰符来标记它
2.中缀调用 不是特殊的内置结构,而是一种特殊的函数调用。在中缀调用中,没有添加额外的分隔符,函数名称是直接放在目标对象名称和参数之间。
3.Any是Kotlin中所有类的父类,和Java中的Object相同

字符串进行分割:
1.在kotlin中可以使用Regex类型的重载函数对字符串进行分割
2.如下\.转义,而|是或的意思
例子1:


例子2:
需求:通过这个字符串获取到chapter.adoc的目录、文件名和扩展名1

局部函数使用:

关注作者公众号“技术微讯”即可第一时间查阅到kotlin系列的最新动态:
技术微讯公众号.jpg
上一篇下一篇

猜你喜欢

热点阅读