Kotlin 极简小抄 P3(函数、函数赋值给变量)
一、Kotlin
-
Kotlin 由 JetBrains 开发,是一种在 JVM(Java 虚拟机)上运行的静态类型编程语言
-
Kotlin 旨在提高开发者的编码效率和安全性,同时保持与 Java 的高度互操作性
-
Kotlin 是 Android 应用开发的首选语言,也可以与 Java 一样用于服务器端开发
二、Kotlin 极简小抄
1、函数
- 无参无返回值函数
fun test1() {
println("hello test1")
}
fun test2(): Unit {
println("hello test2")
}
- 有参无返回值函数
fun showSum(a: Int, b: Int) {
println(a + b)
}
- 无参有返回值函数
fun getNum(): Int {
return 10
}
- 有参有返回值函数
fun getSum(a: Int, b: Int): Int {
return a + b
}
2、嵌套函数
fun outer() {
println("outer")
fun inner() {
println("inner")
}
inner()
}
3、函数赋值给变量
- 通过函数引用赋值给变量
fun sum(a: Int, b: Int): Int {
return a + b
}
var handle1: (Int, Int) -> Int = ::sum
println(handle1(1, 2))
// 自动推断类型
var handle2 = ::sum
println(handle2(3, 4))
- 通过匿名函数赋值给变量
val handle1: (Int, Int) -> Int = fun(a: Int, b: Int): Int {
return a + b
}
println(handle1(1, 2))
val handle2: (Int, Int) -> Int = fun(a: Int, b: Int): Int = a + b
println(handle2(3, 4))
// 自动推断类型
val handle3 = fun(a: Int, b: Int): Int = a + b
println(handle3(5, 6))
- 通过 Lambda 表达式赋值给变量
val handle1: (Int, Int) -> Int = { x, y -> x * y }
println(handle1(1, 2))
// 自动推断类型
val handle2 = { x: Int, y: Int -> x * y }
println(handle2(3, 4))
4、内联函数
inline fun sum(a: Int, b: Int): Int {
return a + b
}
fun main() {
// 在编译时,Kotlin 编译器会尝试将 sum 函数的调用直接替换为函数体内的代码,即 a + b
// 内联函数主要用于性能优化
val result = sum(1, 2)
println(result)
}