这次的写法可能有些怪异,但是如果熟悉java8的Lambda表达式的话其实理解起来很顺其自然【参考博客:http://www.cnblogs.com/webor2006/p/7705130.html】,不过之后会对其进行深入理解的,这里先来感受下kotlin的函数表达式的魅力,下面先从一个简单函数开始:

编译运行:

相当无脑的代码,接着就要对它进行变形啦,对于有返回值的函数可以简写成这样:

编译运行:

简直跟java8的Lambda表达式使用类似,所以可能java8还是值得好好学习学习滴。

接着继续:对于一个变量可以直接指向一个函数,如下:

编译运行:

像上面的这种写法就叫函数的表达式,其实还有另外一种函数表达式的写法,如下:

编译运行:

kotlin函数和函数式表达式的更多相关文章

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

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

  2. 释放Android的函数式能量(I):Kotlin语言的Lambda表达式

    原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-o ...

  3. 《疯狂Kotlin讲义》读书笔记6——函数和Lambda表达式

    函数和Lambda表达式 Kotlin融合了面向过程语言和面向对象语言的特征,相比于Java,它增加了对函数式编程的支持,支持定义函数.调用函数.相比于C语言,Kotlin支持局部函数(Lambda表 ...

  4. Kotlin语法(函数和lambda表达式)

    三.函数和lambda表达式 1. 函数声明 fun double(x: Int): Int { } 函数参数是用 Pascal 符号定义的 name:type.参数之间用逗号隔开,每个参数必须指明类 ...

  5. 浅析匿名函数、lambda表达式、闭包(closure)区别与作用

    浅析匿名函数.lambda表达式.闭包(closure)区别与作用 所有的主流编程语言都对函数式编程有支持,比如c++11.python和java中有lambda表达式.lua和JavaScript中 ...

  6. Python核心编程读笔 10:函数和函数式编程

    第11章 函数和函数式编程 一 调用函数  1 关键字参数 def foo(x): foo_suite # presumably does some processing with 'x' 标准调用 ...

  7. Kotlin 函数

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

  8. Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数

    Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print(" ...

  9. 跟着ALEX 学python day3集合 文件操作 函数和函数式编程 内置函数

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  一. 集合 集合是一个无序的,不重复的数据组合,主要作用如下 1.去重 把一个列表变成集合 ,就自动去重 ...

随机推荐

  1. LeetCode.1200-最小绝对值差(Minimum Absolute Difference)

    这是小川的第次更新,第篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第268题(顺位题号是1200).给定一个由不同的整数组成的数组arr,找到所有对元素,其中任意两个元素的绝 ...

  2. POJ1703Find them, Catch them 【种类并查集】

    题目链接:http://poj.org/problem?id=1703 题目大意:给n个人,m次询问.A代表询问a, b之间的关系,D代表给出a, b属于不同的帮派. 我的想法: 太菜了,上课的时候没 ...

  3. gitlab本地部署方法(ubuntu16.04+gitlab9.5.5)

    Gitlab本地部署方法   1 前期准备 电脑配置:windows7 ,内存8GB以上(因为有4GB左右要分配给虚拟机中的ubuntu) 虚拟机:VMware Linux系统:ubuntu16.04 ...

  4. BandingList 泛型集合数据绑定

    public IList<Student> IStudent = new List<Student>();  public BindingList<Student> ...

  5. FTP文件上传下载

    使用Apache Commons Net来实现FTP服务器文件的上传 与 下载 maven配置Jar <!-- https://mvnrepository.com/artifact/common ...

  6. Hadoop集群搭建-02安装配置Zookeeper

    Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS  Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...

  7. 将本地镜像上传到Docker镜像仓库

    ⒈在Docker Hub(Docker官方镜像仓库)注册自己的用户名. ⒉在Docker中使用docker login命令登录自己的用户名密码. ⒊使用docker push 镜像名称 上传本地镜像到 ...

  8. import xxx和from xxx import xx中修改被导入模块里面的变量的坑

    现在有如下几个模块: A.py 功能:定义全局变量,供其他模块使用 name = "张三" lists = [1, 2, 3, 4, 5] B.py 功能:打印A.py中的变量 f ...

  9. python---博客分类目录

    python基础 python函数 python模块 python面向对象 网络编程 并发编程 数据库 前端学习 HTML基础 CSS基础 JavaScript基础 js操作BOM和DOM jQuer ...

  10. Jmeter之参数化(4种设置方法)

    以多用户登录为例~~~ 参数化: 1.用户参数 2.CSV数据文件 3.函数助手CSVRead 4.用户自定义的变量 1.用户参数 脚本目录结构如下: 因为设置了2组账号密码,所以线程数设置为2(添加 ...