fun main() {
// 一个有引用的lambda表达式
val f11: (Int, Int) -> Unit = {n1, n2 ->
println("f11 is ${n1 * n2}")
}
// 普通函数
fun f0(n1: Int, n2: Int, lambda: (Int, Int) -> Unit) {
println("f0 正在运行")
lambda(n1, n2)
}
f0(1, 2, f11)
// 等号右面是函数体
val f1: (n1: Int, n2: Int, lambda: (Int, Int) -> Unit) -> Unit = {n1, n2, lambda ->
println("f1 正在运行")
lambda.invoke(n1, n2)
} f1(1, 2, f11)
// 用f2给lambda传参
fun f2(n1: Int, n2: Int, lambda: (Int, Int) -> Unit) = lambda.invoke(n1, n2) f2(3, 4, f11)
// 等号右面是一个匿名函数,作为f3的返回结果
fun f3(n1: Int, n2: Int, lambda: (Int, Int) -> Unit) = {
println("f3 正在运行")
lambda.invoke(n1, n2)
} f3(5, 6, f11)()
}

输出结果:

f0 正在运行
f11 is 2
f1 正在运行
f11 is 2
f11 is 12
f3 正在运行
f11 is 30

你答对了吗

kotlin 函数格式大赏的更多相关文章

  1. Kotlin 函数

    至于什么函数,在计算机里面就是一个密闭的执行程序的代码块(个人理解) 我们先来看看什么是函数 fun main(agrs : Array<String>) { println(" ...

  2. SQL Server函数格式

    函数格式CREATE FUNCTION -- ============================================= -- Author: Clive Chinery -- Cre ...

  3. lambda 形参:返回值 lambda 匿名函数 格式:

    lambda 匿名函数 格式: lambda 形参:返回值 e.g f = lambda n:n**2 print(f(10))

  4. 获取当前的日期时间的js函数,格式为“yyyy-MM-dd hh:mm:ss”

    //获取当前的日期时间函数,格式为“yyyy-MM-dd hh:mm:ss” function getNowFormatDate(date) { if (date == null) { var dat ...

  5. Kotlin函数与Lambda表达式深入

    Kotlin函数: 关于Kotlin函数在之前也一直在用,用fun来声明,回忆下: 下面再来整体对Kotlin的函数进行一个学习. 默认参数(default arguments): 先来定义一个函数: ...

  6. kotlin函数加强

    在之前已经接触过了kotlin的函数了,这里再次加强学习下它,下面开始吧! Kotlin函数编写规则: 对照函数来理解其写法: 演练巩固: ①.编写函数, 实现四则运算. 接着来实现其它三个运算: 然 ...

  7. Kotlin函数中默认参数

    Java不支持默认参数.但kotlin函数却可以 package loaderman.demo class Customer(var name:String ="name"){// ...

  8. kotlin函数api

    原 Kotlin学习(4)Lambda 2017年09月26日 21:00:03 gwt0425 阅读数:551   记住Lambda的本质,还是一个对象.和JS,Python等不同的是,Kotlin ...

  9. Kotlin 函数和函数表达式

    学习了kotlin 的控制. 其中最为强大的是各种控制可以直接作为表达式来使用. 那么在kotlin中,函数也是可以作为表达式来使用. 而且kotlin中函数的创建方式有很多方式. 第一种: 传统创建 ...

  10. Kotlin函数使用综述与显式返回类型分析

    位置参数与具名参数: 继续接着上一次https://www.cnblogs.com/webor2006/p/11498842.html的方法参数学习,再定义一个函数来说明具名参数的问题: 调用一下,先 ...

随机推荐

  1. JQ的尺寸类

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. QML 界面切换的几种方法(带示例代码)

    QML 界面切换的几种方法(带示例代码)

  3. 单机最快的队列Disruptor解析和使用

    前言 介绍高性能队列Disruptor原理以及使用例子. Disruptor是什么? Disruptor是外汇和加密货币交易所运营商 LMAX group 建立高性能的金融交易所的结果.用于解决生产者 ...

  4. PDF打开后显示的名称不是其文件名怎么办?

      本文介绍打开PDF文件时,PDF阅读器所显示的文件名称与文件实际名称不一致的解决办法.   就在刚刚准备一篇空间三维建模相关的博客时,偶然发现了如下一个问题:   在打开这个图中名称为空间三维建模 ...

  5. [Windows]解决:windows连接远程桌面-出现身份验证错误,要求的函数不受支持( CredSSP加密数据库修正)[转载]

    文由 需要在本地Windows系统电脑通过远程桌面(mstsc)另一台Windows服务器,将其内的数据拷贝过来.但却发生了这样的异常 解决方案 step1 Win+R step2 打开注册表: gp ...

  6. [操作系统/Linux]磁盘分区

    0 基本概念1: 盘片/盘面/磁头/扇区/磁道/柱面 本小节摘自: 硬盘基本知识(磁头.磁道.扇区.柱面) - 博客园 一张磁盘并不是拿过来直接用,需要先分区. 磁盘本身有很多sector(扇区).c ...

  7. MySQL 读书笔记(一)

    1 MySQL 表 1.1 索引组织表 在 InnoDB 存储引擎中,表都是根据主键顺序存放的,这种存储方式称为索引组织表. InnoDB存储引擎中,每张 MySQL表 都有一个唯一主键,如果创建表时 ...

  8. TEC-6计算机组成原理实验(简图)

    TEC-6计算机组成原理实验

  9. Go语言实战: 即时通信系统(未完)

    使用Go语言构建一个即时通信系统,旨在锻炼Go语言编程能力 该通信系统至少能够允许用户能够在客户端进行公聊,即所发消息能被所有用户看到,也可发起私聊(即两个用户之间私密通信).同时,用户能够看到当前有 ...

  10. win10启动docker报错,错误码 0xffffffff

    一.注册表修复(如果有就不用管) 在\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Ca ...