介绍
关于Kotlin的一些基本信息,我在前面介绍过不少。本篇属于巩固学习,加深一下对于Kotlin中的函数声明的意义。
以及介绍几种特殊情况下的返回值定义。例如异常数据定义返回值Nothing,Unit返回值定义等。
可以通过Kotlin学习笔记-基本语法和常见类型等 (zinyan.com) 了解基本的介绍。
而Kotlin (zinyan.com) 下汇总了所有的我关于Kotlin的学习笔记。
函数声明
我们在开发中。所有的功能都是通过函数进行定义的。所以想学会使用一个语言。那么必须了解它的函数声明方式。
有些地方会叫做函数,和有些地方会叫做方法。方法就是函数,函数就是方法。
Kotlin
中函数的定义逻辑参考以下的语法格式:
fun 函数名(参数列表): 返回值类型{
函数内容
return 返回值
}
除此以外,我们还可以在fun
右侧添加关键字。
结合一些实际示例理解:
//main函数
fun main(args: Array) {
var str: String = "这是字"
}
//有返回值的
fun test(a:Int,b:String,c:Char,d:Float,r:Double,f:Array)):Int{
//当前函数的名称叫做test, 返回值为Int,传值a,b,c,d,r,f;
return 0;
}
//没有返回值的
fun test1(a:Int){
}
而参数定义,在Kotlin
中遵循的左侧参数名,右侧数据类型的定义方式: 参数名:数据类型
例如:
var a:Int
var b:String
val c:Boolean
val d:Double
不管是返回值参数定义,还是入参定义。只要是属于参数。都是遵循该逻辑。左侧变量名,右侧数据类型。
而由于Kotlin
支持上下文联想,所以有时候我们可以省略右侧的数据类型。Kotlin
会自动根据左侧的计算结果给右侧的对象赋值相应的类型。
返回特殊数据类型
我们如果知道函数要返回什么数据类型,我们可以直接写该类型。但是往往有些情况下我们不知道返回什么类型。这种特殊情况下,我们就要使用相应的特殊类型了。
这里主要介绍Unit
和Nothing
类型。
unit 数据类型
在Kotlin
中,针对不需要返回具体数据的函数,我们可以声明返回类型为Unit
。就如同java
中没有数据返回的函数声明为void
一样。
而针对Unit
函数,我们通常情况下是可以省略掉的。我们如果不定义的话,kotlin会自动编译为Unit
。
//没有返回值的
fun test1(a:Int):Unit{
return
}
我们可以默认省略掉Unit
和函数中的return
。所以,在Kotlin
中unit
代表的就是没有实际意义的数据。
Nothing 数据类型
在Kotlin
中有一个特殊的数据类型Nothing
。它只能用于函数返回类型声明,不能定义为变量声明。相较于而言,Unit
可以定义为变量声明。Nothing
声明的函数永远不会返回正常值,只会抛出异常。
示例:
fun readZinyan():Nothing{
throw IOException()
}
在上面的示例中,函数的返回类型为Nothing
。我们如果定义函数为Exception
的话。那么它的返回值就必须声明为Nothing
。
通常在单元测试框架执行测试失败的时候,可以通过定义Nothing
返回类型的函数来抛出异常。
我们如果进行sdk
开发,在用户使用时没有按照规范调用时我们也可以定义检测函数,并使用Nothing
返回类型来抛出异常终止程序运行等。
针对Nothing和Unit的介绍就到这里了。
评论区