Scala中=gt;的用法
1.匿名函数
(x: Int) => x + 1这一部分就是一个匿名函数,我这里使用了一个变量anonymousFun代替了这个匿名函数方便测试调用;
=>左边是参数和参数类型,而=>右边是函数体,并没有函数名。
val anonymousFun = (x: Int) => x + 100
2.按名调用
按名调用,传递进来的参数可以是一个函数。
def callByName(funName : => Int)={//本例要求传递进来的函数返回值类型是Int型println("参数: " + funName)funName //每次使用传名调用时,解释器都会计算一次表达式的值
}
def f(x:Int):Int = {return x
}
3.表示函数的类型
这个函数可以分成两部分:
第一部分是val f: Int => String,定义了一个函数,用f表示这个函数,其输入参数是一个Int型变量,返回值是String类型。
第二部分是等号右边的,myInt => "The value of myInt is: " + myInt.toString(),输入参数变量是myInt,返回值是一个字符串。其实这一部分是一个匿名函数。
例如:A => T,A,B => T表示一个函数的输入参数类型是“A”,“A,B”,返回值类型是T。
val f: Int => String = myInt => "The value of myInt is: " + myInt.toString()
当输入参数有多个变量时,需要加上括号:
val f2: (Int, Int) => String = (myInt, i) => "The value of myInt is: " + myInt.toString()
4.case语句
val x = 10; val y = 20x: Int = 10y: Int = 20
val max = x > y match {case true => xcase false => y
}
max: Int = 20
测试
def main(args: Array[String]): Unit = {def double(x: Int) : Int = 2*xprintln(anonymousFun(3))println(callByName(f(3)))println(funType(2))println(anonymousFun2)}
Scala中=gt;的用法相关推荐
- scala中yeild举例用法
Scala中的yield的主要作用是记住每次迭代中的有关值,并逐一存入到一个数组中. 用法如下: for {子句} yield {变量或表达式} 具体举例如下,该例子获取文本文件中包含指定关键字的相关 ...
- scala中case的用法
scala中没有switch,但是有case,其case相当强大,有各种不同的匹配方式. 一.简单匹配,值匹配: 例 a: val bools = List(true, false) for (boo ...
- Scala中TypeTags和Manifests的用法
Scala运行在JVM上,在JVM上有一种机制叫做类型擦除(type eraser).类型擦除是说:在语言的编译阶段程序中所携带的泛型信息都会被擦除,最终生成的class文件中是不包含类型信息的.所以 ...
- scala中sorted,sortby,sortwith的用法(转)
scala中sorted,sortWith,sortBy用法详解 2017年07月23日 23:07:51 bitcarmanlee 阅读数:9249 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- Scala 中的函数式编程基础
主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...
- Scala中的while循环
在Scala中的while循环 (while loop in Scala) while loop in Scala is used to run a block of code multiple nu ...
- scala中何时使用下划线_在Scala中使用下划线
scala中何时使用下划线 Underscore (_) character is reserved in Scala and has multiple usages in the programmi ...
- 在Scala中设置&()方法
Scala中的Set&()方法 (The Set &() method in Scala) The &() method in the Set is used to creat ...
- map写法 scala语言_(转)scala中map与flatMap浅析
在函数式语言中,函数作为一等公民,可以在任何地方定义,在函数内或函数外,可以作为函数的参数和返回值,可以对函数进行组合.由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好 ...
最新文章
- 记一个开发中遇到react-native flatList 的坑
- 配置伪静态(URL重写)
- python识别latex公式_Python代码转Latex公式,这个开源库用一行代码帮你搞定
- DOMContentLoaded与load的区别
- 4.状态间的六种转换情况
- 配置kickstart脚本--图形篇
- 8字箴言:尊重、尽责、开放、创新
- [导入]竟然支持OpenGL ES!
- socket编程开发
- 中tr不能显示字符_垃圾文本识别中基本操作指南和错误总结,第三部分
- mysql 插入数据时 自动设置创建时间和更新时间
- java面试题干货126-170
- sql-查询不同状态下的数据之和
- 【Sql】—Sql开发利器Sql Prompt
- 马克思主义原理 - 圣才思维导图
- fix协议封装挑战-数据有效性校验
- 政务大数据的上下文范围
- 完全平方数的几种判定方法与算法用时
- 在服务系统部署MFC程序,出现DLL缺失情况的问题解决方式
- Jenkins自动化打包生成二维码下载链接
热门文章
- thinkphp单入口和多入口的访问方法
- android button的selector
- Go语言Web框架gwk介绍 (一)
- RDataMining系列:Chapter 4 Decision Trees --决策树实现,未完待续
- 修改Navicat数据库自动备份目录
- Tomcat log文件
- mysql启多_MySQL启多个实例
- 联想g470笔记本开vt_最“发泄”评测!飞刀铁拳暴力输出,联想本结局竟然大亮?(附视频)...
- quick time不可用_那些校园中“不可言说”的鄙视链
- java map class_Java:声明一个包含两个相关泛型类型的Map(Map,Class ?extends ClassB )...