当前位置: 首页 > news >正文

南宁专业网站开发如何注册chn域名网站

南宁专业网站开发,如何注册chn域名网站,上海企业定制礼品,中山网站优化排名Kotlin Lambda表达式和匿名函数的组合简直太强了 简介 首先,在 Kotlin 中,函数是“第一公民”(First Class Citizen)。因此,它们可以被分配为变量的值,作为其他函数的参数传递或者函数的返回值。同样&…

Kotlin Lambda表达式和匿名函数的组合简直太强了

简介

首先,在 Kotlin 中,函数是“第一公民”(First Class Citizen)。因此,它们可以被分配为变量的值,作为其他函数的参数传递或者函数的返回值。同样,在 Kotlin 中有两种明显的方式来将一个函数分配给一个变量(2种不同的函数字面值)。

1- Lambda 表达式

2- 匿名函数

现在,我们将查看这些主题及其解释和示例。

Lambda表达式

在Kotlin中,Lambda表达式是一个简洁的未命名函数,它被括在大括号中,用于定义可以作为值传递或存储为变量的代码块。

//Basic Usage of Lambda expression var  myVariable = {  println("Inside of the Lambda Expression")  }

Lambda表达式基本用法
此外,Lambda表达式可以接受参数并返回值。现在,让我们来看一下语法。

 //Lambda Expressions can take arguments and return values.val myVariable: (Int, String) -> String = { a: Int, b: String -> "$a + $b" }

Lambda表达式可以接受参数并返回值
此外,当创建 Lambda 表达式时,我们可以使用更短的语法。

//There are two shorter syntax.// 1- Skip the function type.
val myVariable = { a: Int, b: String -> "$a + $b" }// 2- Skip the data types inside the curly brackets
val myVariable2: (Int, String) -> String = { a, b -> "$a + $b" }

最后,有四种函数类型,根据参数和返回类型的不同而变化。

//There are four function types, varying based on parameters and return types.// 1-With Parameters and No Return Value:
val myVariable: (Int, String) -> Unit = { a: Int, b: String -> println("$a + $b") }// 2-With Parameters and Return Value:
val myVariable2: (Int, String) -> String = { a: Int, b: String -> "$a + $b" }// 3-No Parameters and No Return Value:
val myVariable3: () -> Unit = { println("No Parameters and No Return Value") }// 4-No Parameters and Return Value:
val myVariable4: () -> String = { "Return String" }

并不总是需要变量,因为lambda表达式可以直接使用。

// A variable isn't always necessary, as lambda expressions can be used directly.
println( {a: String, b: String -> "$a $b"} ("jacky", "josn") )

匿名函数

在 Kotlin 中,匿名函数和 lambda 表达式都是未命名的函数,可以作为值传递。不过,匿名函数使用 ‘fun’ 关键字定义,而 lambda 表达式则使用花括号 {}

//Syntax of Anonymous Function
val myVariableName: (FirstDataType,SecondDataType) -> ReturnType =fun(firstParameter,secondParameter): ReturnType { MethodBody }//Example of Anonymous Function:
val myVariable: (String, String) -> String = fun(a, b): String {return "$a $b"
}

此外,在创建匿名函数时,我们可以使用更短的语法

// Shorter Syntax Of Anonymous Function
val myVariableName = fun(FirstDataType,SecondDataType) : ReturnType { MethodBody }// Shorter Syntax Of Anonymous Function:
val myVariable = fun(a:String,b:String): String { return "$a + $b" }// When the method body contains just one statement,
// the return keyword and braces can be omitted.
val myVariable2 = fun(a:String,b:String): String = "$a + $b"

最后,让我们探索基于参数和返回类型的各种匿名函数格式。

// Let's explore various anonymous function formats, 
// depending on the parameters and return type.// 1- With Parameters and No Return Value:
val myVariable = fun(a: String, b: String): Unit {println("$a $b")
}// 2- With Parameters and Return Value:
val myVariable2 = fun(a: String, b: String): String {return "$a $b"
}// 3- No Parameters and No Return Value:
val myVariable3 = fun(): Unit {println("No Parameters and No Return Value:")
}// 4- No Parameters and Return Value:
val myVariable4 = fun(): String {return "Hi!"
}fun main() {myVariable("Hüseyin","Özkoç")println(myVariable2("Orkun","Ozan"))myVariable3()println(myVariable4())
}

上述代码运行结果

结论

因此,在 Kotlin 中,函数被称为“一等公民”,这意味着它们可以被分配给变量,作为参数传递给其他函数,或作为函数的返回值。在 Kotlin 中,有两种方法将函数分配给变量,其中一种是通过 lambda 表达式来实现,lambda 表达式是括在大括号内的简洁的匿名函数。匿名函数和 lambda 表达式都是未命名的函数,可以作为值进行传递,不过,匿名函数使用“fun”关键字来定义,而 lambda 表达式则是用花括号 {} 来定义。总的来说,Kotlin 中的这些特性提供了更加灵活和简洁的编码方式。

参考

https://kotlinlang.org/
https://semicolonspace.com/kotlin-lambda-function-literals/

http://www.yayakq.cn/news/598494/

相关文章:

  • 网站程序开发费用简单大气静态网页模板
  • 英文杭州网站建设wordpress网站图片迁移
  • 用户搭建网站青岛黄岛区网站开发
  • 网站设计深圳公司中山做网站好的公司
  • 商城网站建设要多少钱网站改版方案原则
  • 支付网站怎么设计的黄陂机械加工网
  • 做个人网站需要哪些如网站性质为公司 请以企业备案
  • 企业网站建设论文网站建设 千佳网络
  • 茂名网站建设公司电商网站目录优化
  • 个人网站域名所有权织梦网站一排4张图片
  • 哈尔滨房地产网站建设seo排名外包
  • 怎么用上线了做网站郑州自建网站
  • 服务网站排名咨询数字营销策划
  • php多平台商城网站系统建设怎样做网站的背景图片
  • 盗用网站模板网站建设列入管理费用说明科目
  • 网站开发的目的意义哪个网站可以做设计比赛
  • 网站建设网页怎么排列顺序购物网站模板 php
  • 网站去掉后缀htmlasp网站开发的主要困难
  • 网站开发文档带er图wordpress执行流程
  • 软件技术属于什么学类东莞市seo网络推广怎么样
  • 上行30m可以做网站吗慧算账代理记账公司
  • 自己能网站建设中介如何做网站收客
  • wordpress站点的根目录美工模板网站
  • 天门市城市建设管理局网站浙江公司网站建设制作
  • 社交类网站手机模版网络科技扣钱是咋回事
  • 湖南省建设厅官方网站官网c 做彩票网站
  • 花店商城网站设计珠海品牌网站建
  • 爱心助学网站建设wordpress 4.5.2 中文
  • 邯郸中材建设有限责任公司网站厦门 建网站
  • 沈阳公司网站制作百度网盘官方下载