scala中常用但其他语言不常见的符号含义 - 心灵空谷幽兰 - 博客园
本文旨在介绍Scala在其他语言中不太常见的符号含义,帮助理解Scala Code。
随着我对Scala学习的深入,我会不断增加该篇博文的内容。
修改记录
----2016.11.23 新增scala中最神秘强大的下划线(_)用处
下面介绍Scala中的符号:
- :::三个冒号运算符:表示list的连接操作
val one = List(1,2,3)val two = List(4,5,6)val three = one:::two
输出结果为:three: List[Int] = List(1, 2, 3, 4, 5, 6)
- :: 两个冒号运算符:表示普通元素与list的连接操作
- _N下划线数字运算符:用于访问元组的第N个元素,N的取值从1开始。元组的元素访问方法与数组不同是因为元组的元素类型可以不同。
- -> 返回一个二元元组
返回:(List[Int], List[Int]) = (List(1, 2, 3),List(4, 5, 6))
- <- 用于遍历集合对象
- => 把左边的东西改成右边的东西;可以看做创建函数实例的语法糖,这个运算符常见的有下面三种:
- =>:Example:Int => String表示函数输入为Int型,返回String型,同Function(Int,String)
- ()=>:Example:() => T表示函数没有输入参数,但返回T
- Unit=>:Unit相当于无值的值,相当于C++中的Void
- _ 有很多含义
1、通配符
import org.apache.spark.SparkContext._
2、匿名函数
3、指代集合中的每一个元素。例如筛选列表中大于某个值的元素
val lst = List(1,2,3,4,5)val lstFilter = lst.filter(_ > 3)
4、使用模式匹配可以用来获取元组的组员。
val m = Map(1 -> 2,2 -> 4)for ((k,_) <- m) println(k) //如果不需要所有部件,则在不需要的部件使用_;
本例只取key,因此在value处用_
5、代表某一类型的默认值
对于Int类型来说,它是0
对于Double来说,它是0.0
对于引用类型来说,它是null
- :_* 作为一个整体,告诉编译器你希望将某个参数当作数序列处理。
val s = sum(1 to 5:_*) //把1 to 5当作一个序列处理
- +=:为map类型变量添加元素
- -=:为map类型变量移除元素及其对应的值
参考文献
1 http://stackoverflow.com/questions/6951895/what-does-and-mean-in-scala
2 http://docs.scala-lang.org/tutorials/FAQ/finding-symbols.html
3 https://www.zhihu.com/question/21622725/answer/21588672
摘自 :https://www.cnblogs.com/xinlingyoulan/p/6031157.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法