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)
}
相关推荐
风逸hhh6 分钟前
python打卡day58@浙大疏锦行
开发语言·python
Q_9709563918 分钟前
java+vue+SpringBoo足球社区管理系统(程序+数据库+报告+部署教程+答辩指导)
java·开发语言·数据库
为了更好的明天而战42 分钟前
Java 中的 ArrayList 和 LinkedList 区别详解(源码级理解)
java·开发语言
JosieBook1 小时前
【Java编程动手学】Java中的数组与集合
java·开发语言·python
qq_589568101 小时前
element-plus按需自动导入的配置 以及icon图标不显示的问题解决
开发语言·javascript·ecmascript
lsx2024061 小时前
SQLite Select 语句详解
开发语言
Dovis(誓平步青云)2 小时前
基于探索C++特殊容器类型:容器适配器+底层实现原理
开发语言·c++·queue·适配器·stack
R-sz2 小时前
java流式计算 获取全量树形数据,非懒加载树,递归找儿
java·开发语言·windows
随意0232 小时前
Qt 事件
开发语言·qt
鸥梨菌Honevid2 小时前
Qt自定义控件(1)——QPaintEvent
开发语言·qt