今天我们来学习Kotlin函数的基础知识
Kotlin 除了变量声明外,函数的声明方式也和 Java 的方法不一样。Java 的方法method在 Kotlin 里叫函数function,其实没啥区别,或者说其中的区别我们可以忽略掉。对任何编程语言来讲,变量就是用来存储数据,而函数就是用来处理数据
函数的声明
我们先来看看 Java 里的方法是怎么写的:
//Java
Food cook(String name) {
...
}
而到了 Kotlin,函数的声明是这样:
//Kotlin
fun cook(name: String): Food {
...
}
- 以 fun 关键字开头
- 返回值写在了函数和参数后面
如果没有返回值的函数 Java 里是返回 void:
//Java
void main() {
...
}
Kotlin 里是返回 Unit,并且可以省略
//Kotlin
fun main(): Unit {}
// Unit 返回类型可以省略
fun main() {}
函数参数也可以有可空的控制,根据前篇说的空安全设计,在传递时需要注意:
//Kotlin
var myName : String? = "huahuadashen"
fun cook(name: String) : Food {}
cook(myName)
// 可空变量传给可空参数,正常运行
var myName : String? = "huahuadashen"
fun cook(name: String?) : Food {}
cook(myName)
// 不可空变量传给不可空参数,正常运行
var myName : String = "huahuadashen"
fun cook(name: String) : Food {}
cook(myName)
可见性
函数如果不加可见性修饰符的话,默认的可见范围和变量一样也是 public 的,但有一种情况例外,这里简单提一下,就是遇到了 override
关键字的时候
今天函数这部分简单知识点就介绍到这里 ,可以根据上面的例子动手尝试尝试。