kotlin函数式表达式

4人阅读 评论(0) 收藏 举报
分类:

kotlin函数式表达式:

单表达式函数:

当函数返回单个表达式时,可以省略花括号并且在 = 符号之后指定代码体即可

fun double(x: Int): Int = x * 2
Kotlin

当返回值类型可由编译器推断时,显式声明返回类型是可选的

fun double(x: Int) = x * 2

Lambda 表达式语法:

Lambda 表达式的完整语法形式,即函数类型的字面值如下:

val sum = { x: Int, y: Int -> x + y }
Kotlin

lambda 表达式总是被大括号括着,
完整语法形式的参数声明放在括号内,并有可选的类型标注,
函数体跟在一个 -> 符号之后。如果推断出的该 lambda 的返回类型不是 Unit,那么该 lambda 主体中的最后一个(或可能是单个)表达式会视为返回值。

如果我们把所有可选标注都留下,看起来如下:

val sum: (Int, Int) -> Int = { x, y -> x + y }

简单代码:

fun main(args: Array<String>) {
	var result=add(3,5)
	println(result)
	
	var i={x:Int,y:Int -> x+y}
	var result2 = i(3,5)
	println(result2)
	
	var j:(Int,Int) ->Int={x,y-> x+y}
	var result3 = j(3,5)
	println(result3)
}
fun add(x:Int,y:Int):Int=x+y

运行结果:

8
8
8


查看评论

Kotlin函数式编程(一) Kotlin与函数式编程

一、什么是Kotlin?Kotlin是一门新兴的Jvm语言,与Scala等充满野心,想要取代Java的Jvm语言不同,Kotlin更像是Java的扩展,它能很好的和已有的Java代码一起工作,而比起J...
  • Khellendros
  • Khellendros
  • 2017-11-28 11:15:34
  • 285

Kotlin之字面函数和函数表达式

这一节涉及的东西比较杂,各种函数和表达式,零零散散 package net.edaibu.kotlintest.FunctionAndLambda /** * @author geqipeng ...
  • sinat_35241409
  • sinat_35241409
  • 2017-06-02 17:49:59
  • 337

你绝对想不通的kotlin,当使用lambda实现函数式接口时爬的“巨坑”

实现函数式的接口 在学习kotlin的时候,我一直搞不懂为什么kotlin定义的“函数式接口”为什么不能用像官方文档用lambda表达式。 像如下的方式,使用kotlin定义一个“函数式接口(只有单个...
  • a907691592
  • a907691592
  • 2018-02-09 10:34:59
  • 46

《Kotlin极简教程》第六章 Kotlin函数式编程(FP)

Kotlin对函数式编程的实现恰到好处。 最新上架!!! 《 Kotlin极简教程》 陈光剑 (机械工业出版社): https://mp.weixin.qq.com/s/bzRkGSO6T1O2AE...
  • universsky2015
  • universsky2015
  • 2017-09-13 14:24:17
  • 174

Kotlin学习记录(五)—— 条件表达式的使用

接上篇: Kotlin学习记录(四)—— 常用集合的使用 if/else: 直接上代码吧: var x: Int = 666 var y:Int if(x>0){ ...
  • u011732740
  • u011732740
  • 2017-06-12 17:18:14
  • 1386

Kotlin语法(十五)-对象表达式和声明

参考原文:http://kotlinlang.org/docs/reference/object-declarations.html                   有时,需要修改一个类的部...
  • tangxl2008008
  • tangxl2008008
  • 2016-11-05 15:03:44
  • 1083

Kotlin编程之对象的表达式和声明

Kotlin编程:对象表达式,声明对象,伴随对象
  • hexingen
  • hexingen
  • 2017-05-31 21:32:06
  • 599

Kotlin编程之if语句,while循环,when表达式,for循环

Kotlin编程:if语句,while循环,when表达式,for循环
  • hexingen
  • hexingen
  • 2017-05-31 22:15:39
  • 2473

Kotlin学习笔记--函数、函数表达式、默认参数、具名参数

Kotlin学习笔记--函数、函数表达式、默认参数、具名参数
  • u014620028
  • u014620028
  • 2017-11-09 14:35:40
  • 174

函数式接口与 Lambda表达式

1. 什么是λ表达式   λ表达式本质上是一个匿名方法。让我们来看下面这个例子:     public int add(int x, int y) {         return x + y...
  • zhujianli1314
  • zhujianli1314
  • 2017-02-07 17:05:30
  • 157
    个人资料
    等级:
    访问量: 9043
    积分: 461
    排名: 10万+
    文章分类
    最新评论