Kotlin函数

本文最后更新于:2022年12月18日 中午

Kotlin函数

函数头

     private       fun        doSomething(age:Int, flag:Boolean) : String
// 可见行修饰符  函数声明关键字   函数名            函数参数          返回类型

函数参数

(1)默认值参

如果不打算传入值参,可以预先给参数指定默认值

fun fix(name: String, age: Int = 6) {
    println(name + age)
}
// 主函数
fun main() {
    fix("Yorick")
}

(2)具名函数参数

如果使用命名值参,就可以不用管值参的顺序

fun main() {
    fix(age = 9, name = "Jerry")
}

Unit函数

不是所有函数都有返回值,Kotlin中没有返回值的函数叫Unit函数,也就是说他们的返回类型是Unit。在Kotlin之前,函数不返回任何东西用void描述,意思是”没有返回类型,不会带来什么,忽略它”,也就是说如果函数不返回任何东西,就忽略类型。但是,void这种解决方案无法解释现代语言的一个重要特征,泛型。

println(fix("Yorick"))
// 输出
// Yorick6
// kotlin.Unit

Nothing类型

TODO函数的任务就是抛出异常,就是永远别指望它运行成功,返回Nothing类型

TODO("nothing")
// 下面语句不会被执行
println("after nothing")

TODO函数本身就是返回一个异常

public inline fun TODO(reason: String): Nothing = throw NotImplementedError("An operation is not implemented: $reason")

反引号中的函数名

(1)可以给函数起奇怪的名字(小心被打死qaq)

// 定义
fun `****Yorick is the best****`(name: String){
    println(name+"666")
}
// 调用
`****Yorick is the best****`("Yorick")
// 输出
// Yorick666

(2)由于Java和Kotlin可以相互调用,但是两者关键字不同,众所周知,关键字不能作为变量名或者标识符,所以有时候要加反引号。

  • 新建MyJava类定义is静态方法
    public class MyJava {
        public static void is(){
            System.out.println("IS");
        }
    }
  • 在Kotlin中调用is方法
    fun main() {
        MyJava.`is`();
    }
    // 输出
    IS

Kotlin函数
https://yorick-ryu.github.io/Kotlin/Kotlin函数/
作者
Yorick
发布于
2022年9月5日
许可协议