Kotlin 极简小抄 P3(函数、函数赋值给变量)

一、Kotlin

  1. Kotlin 由 JetBrains 开发,是一种在 JVM(Java 虚拟机)上运行的静态类型编程语言

  2. Kotlin 旨在提高开发者的编码效率和安全性,同时保持与 Java 的高度互操作性

  3. Kotlin 是 Android 应用开发的首选语言,也可以与 Java 一样用于服务器端开发


二、Kotlin 极简小抄

1、函数
  1. 无参无返回值函数
kotlin 复制代码
fun test1() {
    println("hello test1")
}

fun test2(): Unit {
    println("hello test2")
}
  1. 有参无返回值函数
kotlin 复制代码
fun showSum(a: Int, b: Int) {
    println(a + b)
}
  1. 无参有返回值函数
kotlin 复制代码
fun getNum(): Int {
    return 10
}
  1. 有参有返回值函数
kotlin 复制代码
fun getSum(a: Int, b: Int): Int {
    return a + b
}
2、嵌套函数
kotlin 复制代码
fun outer() {

    println("outer")

    fun inner() {
        println("inner")
    }

    inner()
}
3、函数赋值给变量
  1. 通过函数引用赋值给变量
kotlin 复制代码
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))
  1. 通过匿名函数赋值给变量
kotlin 复制代码
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))
  1. 通过 Lambda 表达式赋值给变量
kotlin 复制代码
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、内联函数
kotlin 复制代码
inline fun sum(a: Int, b: Int): Int {
    return a + b
}

fun main() {

    // 在编译时,Kotlin 编译器会尝试将 sum 函数的调用直接替换为函数体内的代码,即 a + b
    // 内联函数主要用于性能优化
    val result = sum(1, 2)
    println(result)
}
相关推荐
天天爱吃肉82181 小时前
【国产工具链发展,生态链分析,TSMaster VS Zcanpro的技术对比】
单片机·嵌入式硬件·汽车·学习方法
兰琛1 小时前
Compose组件转换XML布局
android·xml·kotlin
Qlittleboy1 小时前
windows如何安装wkhtmltoimage 给PHP使用根据HTML生成图片
开发语言·windows·php
水w2 小时前
【Android Studio】解决报错问题Algorithm HmacPBESHA256 not available
android·开发语言·android studio
冷琅辞3 小时前
Elixir语言的云计算
开发语言·后端·golang
Mryan20054 小时前
解决GraalVM Native Maven Plugin错误:JAVA_HOME未指向GraalVM Distribution
java·开发语言·spring boot·maven
Naomi5214 小时前
自定义汇编语言(Custom Assembly Language) 和 Unix & Git
服务器·开发语言·git·unix
烂蜻蜓4 小时前
C 语言命令行参数:让程序交互更灵活
c语言·开发语言·交互
VX_CXsjNo14 小时前
免费送源码:Java+SSM+Android Studio 基于Android Studio游戏搜索app的设计与实现 计算机毕业设计原创定制
java·spring boot·spring·游戏·eclipse·android studio·android-studio
zm-v-159304339864 小时前
解锁 DeepSeek 与 Matlab:攻克科研难题的技术利刃
开发语言·matlab·信息可视化